Koa的基本流程
Koa2.X源码
代码结构
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上下文对象如何处理