koa2的原始碼比較簡單,整個框架只要能夠很好的理解其中介軟體基本就能了解其執行和設計的原理。
我建議讀koa的原始碼最好從使用的寫法開始梳理,一步一步深入其原理。
一段最簡單的koa原始碼如下:
const koa = require('koa');
ctx.body = 'hello world';
});
根據此段**可以看出,koa是乙個物件,從案例上看此物件上有use、listen方法。讓我們來看看它是如何工作的。
**很簡單,建立乙個http服務,然後監聽3000埠,這樣就建立了乙個簡單的http服務。
this.callback() 返回乙個 有req和res引數的函式。至此listen方法就已經明了。
listen(...args) );
return server.listen(...args);
}複製**
跟node.js建立乙個http服務是一致的。
中介軟體事koa.js的核心概念和核心組成部分,其強大,可拓展也是在於此。
use方法很簡單,向koa物件的 middleware中push函式。接下來看看中介軟體函式如何工作。
next 每次執行之後都會等於下乙個中介軟體函式,如果下乙個中介軟體函式不為真則返回乙個成功的promise。因此我們每次呼叫next()就是在執行下乙個中介軟體函式。
koa對錯誤進行了統一的處理
這些方法在官網都有很詳細的介紹。
此原始碼解析並沒有真正的一字一行的去解析,去理解,只講解了面。
koa2 原始碼解讀
自從在簡歷上寫了使用過nodejs的koa框架起,我被面試官問起node和koa的次數呈指數 為了防止一問三不知的情況再次發生決心去閱讀原始碼。首先我們看下不使用koa和使用的區別 呼叫listen 函式,在listen函式中我們可以看到,開啟了乙個http服務並傳入了callback 函式 lis...
Koa2原始碼學習
koa 基於 node.js 平台的下一代 web 開發框架 const koa require koa do some thing 以上 構建了乙個簡單的伺服器,你可以在瀏覽器輸入 localhost 8080 來訪問 下面我們通過建立koa伺服器,且傳送一次http請求來了解原始碼 在koa例項...
koa2原始碼解析
koa版本2.4.1 以如下示例 進行說明 const koa require koa 1.執行建構函式 2.註冊中介軟體 ctx.body hello world 3.啟動指定埠的http服務 複製 1.建構函式constructor 複製 2.註冊中介軟體use fn 複製 3.啟動指定埠的ht...