自定义中间件
调用方式:app.use
文件挂载
开发者可以通过调用该接口来挂载第三方中间件和自定义的中间件,挂载方式有两种:
// 设置应用中间件
const app = require('ibird-core');
const logger = require('koa-logger');
const koaBunyanLogger = require('koa-bunyan-logger');
// 方式一:单个函数
app.use(function (koaApp) {
// koaApp为koa应用实例
koaApp.use(koaBunyanLogger());
koaApp.use(function (ctx, next) {
console.log('这是一个自定义中间价');
return next();
});
koaApp.use((ctx) => {
console.log('这是又一个自定义中间价');
});
koaApp.use((ctx) => {
console.log('这是第二个自定义中间价');
});
});
// 方式二:函数数组
app.use([
function (koaApp) {
koaApp.use(logger());
koaApp.use((ctx) => {
console.log('这是一个自定义中间价');
});
koaApp.use((ctx) => {
console.log('这是第二个自定义中间价');
});
},
function (koaApp) {
koaApp.get((ctx) => {
console.log('这是另一个函数里定义的中间价');
});
}
]);
文件夹挂载
可以指定一个存放所有路由的文件夹,ibird
在启动的时候会递归该文件夹并挂载所有.js
后缀且模块导出为函数的文件。
// 挂载自定义路由
app.useDir(path.resolve(__dirname, 'src/middleware'));