2015-02-06 44 views
1

我最近繼承了一個基於Node.js和受快遞API的一個項目,我已經注意到Express服務器創建是這樣(簡體版):Node.js的Express服務器創建方法差異

// http is required. 
var http = require('http'); 
var express = require('express'); 
var app = express(); 

// Note http is used to create server, and app is used as param: 
http.createServer(app).listen(3000, function (request, response) { 

    console.log('listening on port 3000'); 

}); 

一切當然按預期工作。 我一直在試圖找出究竟是什麼幕後發生的事情在這裏,主要是相比於在快遞API的方法,其中顯示:

// http is not required. 
var express = require('express'); 
var app = express(); 

// Note Express is used to create the server: 
var server = app.listen(3000, function() { 

    console.log('listening on port 3000'); 

}) 

注意使用HTTP,並直接使用Express在服務器創建的差異。

使用這兩種方法中的特定方法有什麼好處嗎?兩者的實際區別是什麼? 微優化明智,是否最好避免要求'http',這可能需要快遞?

來自前方的感謝!

回答

0

兩者都是或多或少功能上等同的,在第二示例中的express構造函數返回一個新的對象有效地在內部封裝了http.createServer呼叫(即,當調用app.listen)。

如果你打算使用express,那麼你應該使用它的推薦API,第一種方法被認爲是過時的。