我最近继承了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。
使用这两种方法中的特定一种方法有什么好处吗?这两者之间的实际差异是什么? 微优化方面,是否最好避免要求“快速”,这可能是快递所要求的?
感谢前方!
答案 0 :(得分:0)
两者在功能上或多或少相同,在第二个示例中,express
构造函数返回一个新对象,该对象在内部有效地包装http.createServer
调用(即当您调用app.listen时)。
如果您打算使用快递,那么您应该使用它推荐的API,第一种方法被认为是过时的。