Express优于Node.JS有什么好处?

时间:2015-03-03 02:48:42

标签: node.js express

到目前为止,我看到了这些好处:

  • 一致路由到模块
  • 一致的中间件界面(类似于过滤器?)
  • 处理postdata,会话管理,静态文件服务等事宜

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

也许这是我的观点..我正在编写自己的网络服务器作为更大项目的一部分,所以也许只是因为我取代了Express'更明显的功能,而许多开发人员希望网络服务器可立即使用?

另一方面,我认为人们通常会在TCP端口上监听应用程序,然后使用ngix或其他一些HTTP代理服务器进行路由? Express应该替换这个模型吗?

2 个答案:

答案 0 :(得分:5)

您可以自己阅读Express offers here的API,并直接了解它添加到基本http服务器的内容。

部分功能列表:

  • 各种路由功能,包括路由,putgetpost等的单独处理程序,通配符处理,从URL自动提取的变量等等...
  • 子路由器
  • 静态文件服务
  • 许多流行模板引擎插件的框架
  • 查看缓存
  • 区分大小写或无区分大小写
  • 大量第三方NPM模块插入的中间件框架
  • eTag支持
  • 查询请求信息的各种有用属性和方法
  • 构建响应的各种方法

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

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

答案 1 :(得分:3)

Node的文档很糟糕,你几乎无法使用它 而快递则清楚地显示了它们提供的内容以及如何使用它 反对Node的一个重要原因。

我们以响应对象为例:

节点文档:
https://nodejs.org/api/http.html

快递文件:
http://expressjs.com/en/api.html#res