2019-10-23

3.3 Koa中间件

目的:了解中间件内部加载流程和ctx对象


6383319-09c1061cf194e0b8.webp.jpg
  • 通过创建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

展示了洋葱图的流程

你可能感兴趣的:(2019-10-23)