周大胖子 发表于 2018-5-9 09:05:17

KOA的中间件

本帖最后由 周大胖子 于 2018-5-9 10:35 编辑

重点:KOA的中间键 执行的顺序是洋葱顺序, 由外到内 再 由内到外;express 则是一条直线撸下去。
         【举个简单的说明: KOA 中间件app.use 写在路由下面 也会先执行app.use; 但是 express中间件只能写在路由之前。】


KOA中间件的种类: 【和express一样 四种】
1.应用类中间件;
2.路由类中间件;// 应用级中间件
app.use(async (ctx,next)=>{
   console.log('1.这是第一个应用级中间件');
   await next();
   // 这里验证顺序
   console.log('3.执行顺序应该是 123')
})

//路由中间件
router.get('/news',async (ctx,next)=>{
       ctx.body='这尼玛是新闻列表页       console.log('2.这是news的路由中间件')
       await next();
})
3.错误处理中间件;// 错误处理中间件
app.use(async (ctx,next)=>{
    await next();
    if(ctx.status==404){
       ctx.status = 404 ;
      ctx.body = '这是一个404页    }
})

4.第三方中间件;[这个 同 express 中的 static或者 ejs模板插件]const static = require('koa-static');
const staticPatc = './staticapp.use(static(
      path.join(_dirname,staticPath)
))

const bodyParser = require('koa-bodyparser');
app.use(bodyParser());




周大胖子 发表于 2018-5-9 10:36:11

{:4_87:}一定要注意 中间件的执行顺序

周大胖子 发表于 2018-5-9 10:36:22

周大胖子 发表于 2018-5-9 10:36
一定要注意 中间件的执行顺序

洋葱
页: [1]
查看完整版本: KOA的中间件