koa1 源码详解1

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

koa1 源码详解1_第1张图片

 

application.js

koa1 源码详解1_第2张图片

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

 创建context:

koa1 源码详解1_第3张图片

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

 

context.js

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

koa1 源码详解1_第4张图片

 

你可能感兴趣的:(koa1 源码详解1)