一尘不染

Koa和Express 4.0有什么区别?

node.js

Koa和Express 4.0都是相当新的东西,据我所读,Koa是由Express团队生产的。

据我了解,Koa要求节点的功能仅在节点的0.11(不稳定分支)中可用,并且还使用生成器。Express 4.0似乎只是Express框架的下一个版本。

我完全想念有什么区别吗?根据Express团队的公开声明,Koa和Express将来可能会合并吗?

谢谢!


阅读 313

收藏
2020-07-07

共1个答案

一尘不染

在发布开放式问题之前,搜索引擎应该是您的第一选择。

从Koa文档

Koa vs 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的过程将有效地意味着重写整个应用程序,因此我们认为创建一个新的应用程序更为合适。图书馆。

2020-07-07