主要针对 http 的 request 对象提供了改对象。自己写一个阉割版Koa。" />

自己写一个阉割版Koa

Koa的基本流程
Koa2.X源码
  • 版本:koa@2.13.4
  • 入口:package.json中查找"main": "lib/application.js"
代码结构
Koa框架,lib目录有如下四个文件,
/libs/request.js> 主要针对 http 的 request 对象提供了改对象的大量的 get 方法,文件主要是用来获取 request 对象属性。/libs/response.js> 主要针对 http 的 response 对象提供了该对象的大量 set 方法;该文件主要是用来设置 response 对象属性。/libs/context.js> koa 引入了上下文对象的概念,即 ctx,这里所谓的上下文对象实际上是 request 和 response 两个对象的并集,request 和 response 分别通过代理的形式,将自己的方法委托给 ctx。那样我们就可以用 ctx 同时操作两个对象,来简化操作。/libs/application.js> 该文件是整个 koa 的核心,简单来说主要有两大功能: 挂载真实请求到 ctx 下,封装中间件的执行顺序

1. 创建Koa对象 2. new Koa()实例 3. listen创建服务,并监听端口号 4. 使用use挂载中间件 5. 中间件执行 6. ctx上下文对象如何处理

    推荐阅读