老莫的笔记本  
  
查看: 1405|回复: 2

KOA的中间件

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-5-9 09:05:17 | 显示全部楼层 |阅读模式
本帖最后由 周大胖子 于 2018-5-9 10:35 编辑

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


KOA中间件的种类: 【和express一样 四种】
1.应用类中间件;
2.路由类中间件;
  1. // 应用级中间件
  2. app.use(async (ctx,next)=>{
  3.      console.log('1.这是第一个应用级中间件');
  4.      await next();
  5.      // 这里验证顺序
  6.      console.log('3.执行顺序应该是 123')
  7. })
  8. //路由中间件
  9. router.get('/news',async (ctx,next)=>{
  10.        ctx.body='这尼玛是新闻列表页       console.log('2.这是news的路由中间件')
  11.        await next();
  12. })
复制代码
3.错误处理中间件;
  1. // 错误处理中间件
  2. app.use(async (ctx,next)=>{
  3.     await next();
  4.     if(ctx.status==404){
  5.        ctx.status = 404 ;
  6.       ctx.body = '这是一个404页    }
  7. })
复制代码
4.第三方中间件;[这个 同 express 中的 static  或者 ejs模板插件]
  1. const static = require('koa-static');
  2. const staticPatc = './staticapp.use(static(
  3.       path.join(_dirname,staticPath)
  4. ))
  5. const bodyParser = require('koa-bodyparser');
  6. app.use(bodyParser());
复制代码



回复

使用道具 举报

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
 楼主| 发表于 2018-5-9 10:36:11 | 显示全部楼层
一定要注意 中间件的执行顺序
回复

使用道具 举报

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
 楼主| 发表于 2018-5-9 10:36:22 | 显示全部楼层
周大胖子 发表于 2018-5-9 10:36
一定要注意 中间件的执行顺序

洋葱
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表