koa1 源碼詳解1

koa的核心設計 是由 koa 與 koa-compose兩個包構成的。 包含了 上下文context的建立引用,中間件的概念及其合併執行的機制。node

 

application.jses6

koa1.0中直接將context綁定到了中間件中的this引用,koa2.0 將context做爲參數傳給中間件app

 建立context:koa

// context 的req res 就是node 的req res
// context.app koa的實例
// context.request ,context.response koa的request,response,包含了context引用,和req ,res。this

 

context.js設計

巧妙的是用到delegates庫(基於es6 get,set ) 。將一個對象上的方法,屬性委託到另外一個對象上。 因此context可直接調用request ,response屬性中的方法。(看源碼很重要,很長一段時間都有這個疑惑)3d

相關文章
相關標籤/搜索