基本介绍
Egg 是基于 Koa 实现的,所以 Egg 的中间件形式和 Koa 的中间件形式是一样的,都是基于洋葱圈模型
洋葱圈模型
我的理解:
next( )函数之前的代码是洋葱左边,即Request部分,next( )之后的代码是洋葱右边Response,中间部分是路由之类的代码
作用
- 可以在中间件next( )函数之前对客户端发来的请求进行一些操作
- 也可以在next( )函数之后对返回给前端的内容进行一些操作
分类
- 应用级 *
- 框架插件级
- 路由级 *
如何使用
应用级(全局)
- 在app/middleware 下面创建文件编写中间件
- 在config/config.default.js 中配置该中间件
路由级(局部)
- 在app/middleware 下面创建文件编写中间件
- 在app/router 中间配置