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());
{:4_87:}一定要注意 中间件的执行顺序 周大胖子 发表于 2018-5-9 10:36
一定要注意 中间件的执行顺序
洋葱
页:
[1]