无论是应用层加载的中间件还是框架自带中间件,都支持几个通用的配置项
enable:控制中间件是否开启。
ignore:设置符合某些规则的请求不经过这个中间件。
match:设置只有符合某些规则的请求才会经过这个中间件。(如果有多个需求使用match)
match的使用以匹配路由为例:
//如果只有一个条件
match:'/index'
//如果有多个条件,在match方法里可以获取ctx上下文对象
match(ctx){
console.log(ctx.request.url);
//只有通过判断才会走这个中间件
if(ctx.request.url=='/index' || ctx.request.url=='/admin'){
return true;
}
return false;
},
title:'pass middleware'
};
注意:match和ignore只能设置一个,它们两是相反的作用
更多详细内容参考egg官方
https://eggjs.org/zh-cn/basics/middleware.html