Expss是一个轻量级的WbFramwork,自带Routr、路由规则等,早期版本的Expss还有bodyParsr,后期剥离为独立模块作为中间件管理。其中间件模型是基于callback回调实现。
源码理解app.us(middlwa())、routr.handl、nxt中间件middlwas是较多Wb框架的核心概念,可以根据不同的业务场景,集成到框架中,进而增强框架的服务能力,而框架也是需要提供一套机制来保证中间件有序的执行。
在Expss中,我们是通过app.us(middlwa())的方式注册中间件,见using-middlwa文档。us的顺序和规则xpss都做了控制。我们可以看一下源码进行分析。
xpss.js
Expss服务实例将Nod.js的q、s对象传递给app.handl函数,使得handl内部具有q、s对象的控制权。handl函数还有一个叫nxt的参数,nxt在中间件控制权起到了十分重要的作用。
代码: