博客 / 詳情

返回

自己寫一個閹割版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上下文對象如何處理

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.