这可能是一个显而易见的问题,但我是node.js的新手。
Express似乎是别名Connect(express()
而不是connect()
等)。鉴于Connect已经是一个中间件框架,Express提供的东西不是一个简单的Connect中间件,需要这个包装吗?
答案 0 :(得分:3)
Express确实来自connect。很长一段时间它已经使用了大多数连接的中间件。最初表达被描述为像Sinatra一样的框架。 Sinatra(在ruby中)通过http服务器引入域和路由,例如瘦。 Express的路由器深受Sinatra的影响。早些时候,Connect不再支持路由。它的开发人员旨在通过http成为一个中间件生态系统,以便可以在其上构建许多框架。之后他们分道扬。。
Express是功能更全面,更灵活的http服务器。 Connect应该是一个低级框架(你必须自己做一些脚手架)。 Express已从连接包装器发展而来,虽然它看起来非常相似。
现在,Koa受到了express / connect的中间件架构的启发。它为其中间件链使用了新的Ecmascript-6功能。
答案 1 :(得分:2)
从Express 4开始,connect is no longer a dependency。
Express增加了更多功能,就像Connect在普通HTTP服务器上添加功能一样。这包括以下功能:
如今,Connect是pretty barebones,大多只支持使用中间件 - 没有其他功能。