分为几种
1:应用级中间件
// 匹配任何路由
app.use(async(ctx,next)=>{
console.log('jdf)
await next() // 继续向下匹配
})
2:路由级中间件
// 匹配到路由之后继续向下匹配
router.get('/news',async(stx,next)=>{
console.log('df')
await next()
})
3:错误处理中间件
// 洋葱执行顺序,先执行next之前的内容,之后进行执行路由匹配,再回来执行if判断
app.use(async(ctx,next)=>{
console.log('jgdfl')
await next()
if(ctx.status == 404){
console.log()
} else {
console.log()
}
})
4:第三方中间件--下篇进行示例几个吧 像koa-bodyparse koa-static 都是第三方中间件