2015-03-03 70 views
2

到目前为止,我看到这些好处:Express比普通的Node.JS有什么好处?

  • 一致的路由到模块
  • 一致的中间件接口
  • 处理的东西像POSTDATA,会话管理,静态文件服务等(类似于一个过滤器?)

然而,使用if语句和正则表达式(这就是我在Perl和Java中已经做的)以及postdata和静态文件服务很容易完成路由 - 这里有一个模块。那么Express是如何处理这些开箱即用的,还是我缺少更重要的功能?

也许这是我的观点..我正在编写我自己的网络服务器作为一个更大的项目的一部分,所以也许这只是我将取代Express的更明显的功能,而许多开发人员希望Web服务器可用盒子外面?

另一方面,我认为人们通常会在TCP端口上侦听应用程序,然后使用ngix或其他HTTP代理服务器进行路由? Express是否应该取代这种模式?

+0

我相信这是主要的中间件接口(以及包括中间件如果您在发电机上使用Express <4或Express> = 4)。这是向Web服务器持续添加功能的一种非常好的方式。如果你对简单的中间件接口更感兴趣,你可能会发现[Koa](http://koajs.com/)很有趣。 – 2015-03-03 04:38:10

+0

另外,据我所知,大多数Node开发人员使用其框架的HTTP服务器或Node内置的服务器。 – 2015-03-03 04:40:12

回答

3

您可以自己读取Express offers here并直接感受它添加到基本http服务器的API。

的功能的部分列表:

  • 种种路由的功能,包括路由,独立处理程序putgetpost,等等,通配符处理,变量自动从网址等..拉。
  • 子路由器
  • 静态文件服务
  • 一个框架,许多流行的模板引擎插件
  • 六EW缓存
  • 路由由大小写或任何情况下,灵敏度
  • 中间件框架,吨第三方NPM模块插入
  • ETAG支撑
  • 种种有用的属性和方法来查询请求
  • 信息
  • 的构建响应方法种种

大多数人建立一个web应用程序更愿意先从一个Web服务器和一个框架,并能够使用各种预建的NPM与框架一起工作的模块,而不是自己构建所有的东西。

nginx有时与node.js(它有许多功能)配合使用,但通常不是Express提供的主要功能。

+0

感谢您的总结。这很有帮助。他们应该在其网站上包含类似的摘要。除非你已经知道你会使用它,否则他们的API太长了。我将尽力使我的网络服务器与Express框架兼容,但后来发生了,我想我会读取API。 :) – 2015-03-03 17:58:59