koa1 源码详解1

koa的核心设计 是由 koa 与 koa-compose两个包构成的。 包含了 上下文context的建立引用,中间件的概念及其合并执行的机制。node

 

application.jses6

koa1.0中直接将context绑定到了中间件中的this引用,koa2.0 将context做为参数传给中间件app

 建立context:koa

// context 的req res 就是node 的req res
// context.app koa的实例
// context.request ,context.response koa的request,response,包含了context引用,和req ,res。this

 

context.js设计

巧妙的是用到delegates库(基于es6 get,set ) 。将一个对象上的方法,属性委托到另外一个对象上。 因此context可直接调用request ,response属性中的方法。(看源码很重要,很长一段时间都有这个疑惑)3d

相关文章
相关标签/搜索