Koa v2.x 中文文檔 常見問題

常見問題

此係列文章的應用示例已發佈於 GitHub: koa-docs-Zh-CN. 能夠 Fork 幫助改進或 Star 關注更新. 歡迎 Star.node

Koa 替代 Express?

它更像是 Connect,可是不少 Express 的好東西被轉移到 Koa 的中間件級別,以幫助造成更強大的基礎。 這使得中間件對於整個堆棧而言不單單是最終應用程序代碼,並且更易於書寫,並更不容易出錯。git

一般,許多中間件將從新實現相似的功能,甚至更糟的是不正確地實現它們, 如簽名的cookie 加密等一般是應用程序特定的,而不是中間件特定的。github

Koa 替代 Connect?

不,只是不一樣的功能,如今經過構建器也可讓咱們用較少的回調編寫代碼。 Connect 一樣能夠,有些人可能仍然喜歡它,這取決於你喜歡什麼。cookie

Koa 包含路由嗎?

不 - Koa 沒有開箱即用的路由, 可是有不少路由中間件可用: https://github.com/koajs/koa/...koa

爲何 Koa 不是 Express 4.0?

Koa 與如今所知的 Express 差距很大,設計根本上有很大差別,因此從 Express 3.0 遷移到Express 4.0 將有意味着重寫整個應用程序,因此咱們考慮建立一個新的庫。加密

Koa 對象有什麼自定義屬性?

Koa 使用它的自定義對象: ctx, ctx.request, 和 ctx.response.
這些對象使用便捷的方法和 getter/setter 來抽象 node 的 reqres 對象。設計

一般,添加到這些對象的屬性必須遵循如下規則:code

  • 它們必須是很是經常使用的 和/或 必須作一些有用的事情
  • 若是一個屬性做爲一個 setter 存在,那麼它也將做爲一個 getter 存在,但反之亦然

許多 ctx.requestctx.response 的屬性都被委託給 ctx
若是它是一個 getter/setter,那麼 getter 和 setter 都將嚴格對應於 ctx.requestctx.response中間件

附加其餘屬性以前,請考慮這些規則。對象

若是這篇文章對您有幫助, 感謝 下方點贊 或 Star GitHub: koa-docs-Zh-CN 支持, 謝謝.

相關文章
相關標籤/搜索