
前言
什麼?這是一篇源碼解讀文章 ? 那必定很枯燥!不看。
我把 Koa 的核心實現剝離成了 7 個小節,按部就班,一步一步帶你走進 Koa 的心裏世界,不會幹巴巴的很難啃~node
我沒用過 Koa,會不會看不懂 ?
每一個核心實現我都作了實踐和 demo~,很是簡單易懂(看完不懂打我)~git
Koa 是什麼
Koa 是一個新的 web 框架,由 Express 幕後的原班人馬打造, 致力於成爲 web 應用和 API 開發領域中的一個更小、更富有表現力、更健壯的基石。 經過利用 async 函數,Koa 幫你丟棄回調函數,並有力地加強錯誤處理。 Koa 並無捆綁任何中間件, 而是提供了一套優雅的方法,幫助您快速而愉快地編寫服務端應用程序。
Koa 組成
Koa 源碼很是的精簡,只有 4 個文件github
- application.js (koa 入口,koa 中間件管理,請求處理,本文重點講解.)
- context.js (koa 上下文對象,代理 request 與 response 對象的一些方法和屬性)
- request.js (koa 請求對象,基於 node http 模塊請求信息進行二次封裝,並定義一些屬性和方法,引用一張圖,能夠很清楚的看到 request 作了什麼)
- response.js (koa 響應對象,基於 node http 模塊響應信息進行二次封裝,並定義一些屬性和方法,引用一張圖,能夠很清楚的看到 response 作了什麼)
碰見 koa
1 . Koa 之 EventEmitterweb
2 . Koa 之 Http 模塊app
3 . Koa 之 Use 方法框架
4 . Koa 之 洋蔥模型koa
5 . Koa 之 Context 對象async
6 . Koa 之 源碼精讀 一 函數
7 . Koa 之 源碼精讀 二 spa