2015-03-03 40 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