Node.JS表达服务器创建方法的区别

时间:2015-02-06 16:03:01

标签: node.js express

我最近继承了Node.JS和基于Express的API的项目,我注意到快速服务器的创建是这样的(简化版):

// 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');

});

当然,一切都按预期运作。 我一直试图弄清楚幕后究竟发生了什么,主要是与Express 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。

使用这两种方法中的特定一种方法有什么好处吗?这两者之间的实际差异是什么? 微优化方面,是否最好避免要求“快速”,这可能是快递所要求的?

感谢前方!

1 个答案:

答案 0 :(得分:0)

两者在功能上或多或少相同,在第二个示例中,express构造函数返回一个新对象,该对象在内部有效地包装http.createServer调用(即当您调用app.listen时)。

如果您打算使用快递,那么您应该使用它推荐的API,第一种方法被认为是过时的。