为什么有些开发人员使用“http”和“express”来创build服务器?

特别是在这行代码中:

我有点新node.js和大部分教程,我已经看到初始化服务器

var http = require('http'); var express = require('express'); app = express(); //omit http.createServer(app).listen(1337) 

其中,如果你已经使用express那么你可以做:

 var express = require('express'); var app = express(); // omit app.listen(1337,function(){ }); 

这两种代码结构有什么主要区别?

没有意义的区别。 实际上,如果您查看app.listen()的代码,则app.listen()执行http.createServer()然后调用.listen() 。 这只是一个直接保存你使用http模块的快捷方式。

这里是app.listen()的代码 :

 app.listen = function listen() { var server = http.createServer(this); return server.listen.apply(server, arguments); }; 

您的第二个代码块只是less一点代码,因为它使用app.listen()快捷方式。 两者都是一样的。