Koa和Express 4.0有什么区别?

Koa和Express 4.0都是相当新的,从我读到的,Koa是由Express团队制作的。

据我所知,Koa需要节点的特性,它只能在节点的0.11(不稳定分支)中使用,并且也使用了生成器。 Express 4.0似乎只是Express框架的下一个版本。

我完全失踪了吗? Koa和Express在未来某个时候是否会合并(根据Express团队公开表示的内容)?

谢谢!

在发布开放式问题之前,search引擎应该是您的第一select。

从Koa文档 :

Koa vs Express

在哲学上,Koa旨在“修复和replace节点”,而Express则“增加节点”。 Koa使用co来清除callback地狱的应用程序并简化error handling。 它公开自己的this.request和this.response对象,而不是节点的req和res对象。

另一方面,Express使用额外的属性和方法来扩充节点的req和res对象,并且还包括Koa没有的许多其他“框架”function,例如路由和模板。

因此,Koa可以看作是node.js的http模块的抽象,其中Express是Node.js的应用程序框架。

Koa取代Express吗?

这更像Connect,但许多Express产品转移到了Koa的中间件层面,以帮助奠定更坚实的基础。 这使得中间件更加令人愉快,并且对于整个堆栈而言不太容易出错,而不仅仅是最终的应用程序代码。

通常,许多中间件会重新实现类似的function,甚至更糟糕地实施它们,当其他签名cookie机密等function通常是特定于应用程序的,而不是中间件特定的。

为什么Koa只是Express 4.0?

Koa与人们对Express的了解相差甚远,因此devise从本质上讲有很大的不同,所以从Express 3.0到Express 4.0的迁移实际上意味着重写整个应用程序,所以我们认为创build一个新的图书馆。