3.3 Koa中间件
目的:了解中间件内部加载流程和ctx对象
- 通过创建3个“假”中间件,还原了使用中间件的过程
- 加载中间件有顺序,使用的过程中可以不注意使用的顺序
mkdir middleware
touche ./middleware/pv.js ./middleware/m1.js ./middleware/m2.js ./middleware/m3.js
pv/js :
function pv(ctx){
global.console.log('pv',ctx.path)
}
modules.exports=function(){
return async function(ctx,next){
global.console.log('pv start')
pv(ctx)
await next()
global.console.log('pv end')
}
}
m1、m2、m3中也这样写,执行后,在命令行中可以看到
pv /
m1 start
m1 /
m1 start
m2 /
m3 start
m3 /
<-- GET /
index2
GET / - 13ms
m3 end
m2 end
m1 end
展示了洋葱图的流程