跳到主要内容

认识

一、认识


Koa 中间件 分为应用级路由级

二、语法


2.1 无参定义

定义中间件

module.exports = function (params) {
return async (ctx, next) => {
console.log("Koa 中间件---router1 参数:", params);
console.log("Koa 中间件---router1: next() 之前");
await next();
console.log("Koa 中间件---router1: next() 之后");
};
};

使用中间件

应用级中间件
app.use(中间件1(参数));
app.use(中间件2(参数));
路由中间件
router.get(路由,中间件1(参数),中间件2(参数)……,async (ctx)=>{ 路由逻辑 })

2.2 传参定义

定义中间件

module.exports = async function (ctx, next) {
console.log("Koa 中间件---router2: next() 之前");
await next();
console.log("Koa 中间件---router2: next() 之后");
};

使用中间件

应用级中间件
app.use(中间件1);
app.use(中间件2);
路由中间件
router.get(路由,中间件1,中间件2……,async (ctx)=>{ 路由逻辑 })

三、优化


3.1 尾调用