2015-02-06 80 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,第一种方法被认为是过时的。