1.koa-router
app.use(router.routes()).use(router.allowedMethods)
router.get("/aboout",async=>)
2.动态路由操作
router.get("/:id",async=>{
ctx.request.query; //拿到对象数据{ title:'dongjunhao',age:'30' }
ctx.request.querystring; //拿到title=dongjunhao&age=30
})
3.中间键
执行流程洋葱模型,通过use注入 启动,区分用户操作,为了解决代码冗余
应用级中间件、vue全局导航守卫、路由中间件、独享路由守卫、错误处理中间件
koa-bodyparser
模板渲染引擎 ejs koa-swig
静态资源中间件 static app.use(static(__dirname+"/static"));
4.koa Express比较
Express connect中间件 封装了路由、视图,快速集成开发
koa Co中间件,不包含任何中间件
5.手写koa
1.引入events、http模块 class Applition extends EventEmitter{ contructor(){ super();this.middlewares=[]; }}
2.定义use、listen、callback、compose 将middleware进行递归合并、next 洋葱模型执行顺序、On 错误回调处理
评论区