koa中的中间件

分为几种

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 都是第三方中间件

 

中间件的执行流程--洋葱图

你可能感兴趣的:(nodejs)