
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.3 曾经扛鼎的Express框架
Express可以说是Node.js世界里最著名的Web框架,Node.js诞生于2009年,而Express诞生于2010年,是Node.js中使用最多的框架之一。
Express和Connect的关联有点复杂,它们的中间件写法是一样的,并且可以互相复用。一般我们将这些中间件统称为Connect中间件,原因是Express v4.0之前的源码是内置在Conenct中的,在v4.0之后Express自己实现了与Connect类似的机制,但依然向后兼容Connect写法,除了代码上的不同,几乎没什么区别。
Express的目标是成为一个开箱即用的Web框架,所以它内置了中间件、路由、视图等必备组件,看起来更像是一个框架。Express性能好,简单易学,搭配express-generator可以开箱即用,曾是无数开发者热捧的神器。
Express的示例和Connect的示例几乎是一模一样的,只有模块引用不一样,具体如下。

➘ 多URL处理
下面的代码和Connect的示例也是一样的,都是用于多URL处理的,我们几乎看不出它们的差别。

➘ 更好的启动方式
Express的启动方式有如下两种。
○ 通过内置的app.listen:简单易用,但定制功能上略差。
○ 使用http模块http.createServer(app):可以完成更多定制功能。
下面是通过第二种方式启动Express的示例代码。
