在 Egg.js 框架里面可以非常容易的引入 Koa 中间件生态。(koa中间件都可以在egg里使用)
规范的 Koa 的中间件
// app/middleware/compress.js
// koa-compress 暴露的接口(`(options) => middleware`)和框架对中间件要求一致
module.exports = require('koa-compress');
引入中间件
// config/config.default.js
config.middleware = ['compress'];
config.compress = {
threshold: 1024 //它支持指定只有当 body 大于配置的 threshold 时才进行 gzip 压缩
};
非规范的 Koa 中间件
// app/middleware/webpack.js
const webpackMiddleware = require('some-koa-middleware');
module.exports = (options, app) => {
return webpackMiddleware(options.compiler, options.others);
}