此系列文章的应用示例已发布于 GitHub: koa-docs-Zh-CN. 能够 Fork 帮助改进或 Star 关注更新. 欢迎 Star.node
它更像是 Connect,可是不少 Express 的好东西被转移到 Koa 的中间件级别,以帮助造成更强大的基础。 这使得中间件对于整个堆栈而言不单单是最终应用程序代码,并且更易于书写,并更不容易出错。git
一般,许多中间件将从新实现相似的功能,甚至更糟的是不正确地实现它们, 如签名的cookie 加密等一般是应用程序特定的,而不是中间件特定的。github
不,只是不一样的功能,如今经过构建器也可让咱们用较少的回调编写代码。 Connect 一样能够,有些人可能仍然喜欢它,这取决于你喜欢什么。cookie
不 - Koa 没有开箱即用的路由, 可是有不少路由中间件可用: https://github.com/koajs/koa/...koa
Koa 与如今所知的 Express 差距很大,设计根本上有很大差别,因此从 Express 3.0 迁移到Express 4.0 将有意味着重写整个应用程序,因此咱们考虑建立一个新的库。加密
Koa 使用它的自定义对象: ctx
, ctx.request
, 和 ctx.response
.
这些对象使用便捷的方法和 getter/setter 来抽象 node 的 req
和 res
对象。设计
一般,添加到这些对象的属性必须遵循如下规则:code
许多 ctx.request
和 ctx.response
的属性都被委托给 ctx
。
若是它是一个 getter/setter,那么 getter 和 setter 都将严格对应于 ctx.request
或 ctx.response
。中间件
附加其余属性以前,请考虑这些规则。对象
若是这篇文章对您有帮助, 感谢 下方点赞 或 Star GitHub: koa-docs-Zh-CN 支持, 谢谢.