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 支持, 谢谢.

相关文章
相关标签/搜索