Koa 和 Express 4.0 都是相当新的,据我所知,Koa 是由 Express 团队制作的。
据我了解,Koa 需要的节点功能仅在节点的 0.11(不稳定分支)中可用,并且还使用生成器。Express 4.0 似乎只是 Express 框架的下一个版本。
有什么我完全遗漏的区别吗?Koa 和 Express 是否有可能(根据 Express 团队的公开声明)在未来的某个时候合并?
谢谢!
Koa 和 Express 4.0 都是相当新的,据我所知,Koa 是由 Express 团队制作的。
据我了解,Koa 需要的节点功能仅在节点的 0.11(不稳定分支)中可用,并且还使用生成器。Express 4.0 似乎只是 Express 框架的下一个版本。
有什么我完全遗漏的区别吗?Koa 和 Express 是否有可能(根据 Express 团队的公开声明)在未来的某个时候合并?
谢谢!
在发布开放式问题之前,搜索引擎应该是您的首选。
Koa 与 Express
从哲学上讲,Koa 旨在“修复和替换节点”,而 Express 旨在“增强节点”。Koa 使用 co 来摆脱应用程序的回调地狱并简化错误处理。它公开了自己的 this.request 和 this.response 对象,而不是节点的 req 和 res 对象。
另一方面,Express 为节点的 req 和 res 对象增加了额外的属性和方法,并包含了许多其他的“框架”特性,例如路由和模板,而 Koa 没有。
因此,Koa 可以被视为 node.js 的 http 模块的抽象,而 Express 是 node.js 的应用程序框架。
...
Koa 会取代 Express 吗?
它更像是 Connect,但是很多 Express 的好东西都被移到了 Koa 的中间件级别,以帮助形成更强大的基础。这使得中间件更有趣,更不容易编写,适用于整个堆栈,而不仅仅是最终应用程序代码。
通常,许多中间件会重新实现类似的功能,或者更糟糕的是,当签名 cookie 机密等功能通常是特定于应用程序而不是特定于中间件时,它们会错误地实现它们。
...
为什么 Koa 不只是 Express 4.0?
Koa 与人们对 Express 的了解有很大的不同,设计从根本上是不同的,所以从 Express 3.0 迁移到这个 Express 4.0 将实际上意味着重写整个应用程序,所以我们认为创建一个新的应用程序会更合适图书馆。
有关更详细的答案,您可以访问此链接上的官方文档: https ://github.com/koajs/koa/blob/master/docs/koa-vs-express.md