koa中间件的执行顺序
Koa 的中间件和 Express 不同,Koa 选择了洋葱圈模型。
app.js
const Koa = require('koa');
// const router = require("koa-router")(); // 引入和实例化路由 推荐
const Router = require("koa-router");
const app = new Koa();
const router = new Router();
app.use(async (ctx, next)=>{
console.log("1、中间件1")
await next();
console.log("5、匹配完路由以后,又返回来执行中间件1")
})
app.use(async (ctx, next)=>{
console.log("2、中间件2")
await next();
console.log("4、匹配完路由以后,又返回来执行中间件2")
})
// 配置路由
router.get('/', async(ctx)=>{
ctx.body = '首页';
});
// 启动路由
app.use(router.routes()); // 启动路由 可以链式调用
app.use(router.allowedMethods()); // 可配磕不配
app.listen(8081);