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

Car*_*nta 6 node.js express

特别是在这行代码上:

我是node.js的新手,我见过的大部分教程都是通过初始化服务器的

var http = require('http');
var express = require('express');

app = express();

//omit

http.createServer(app).listen(1337)
Run Code Online (Sandbox Code Playgroud)

其中,如果您已经使用过,express那么您可以这样做:

var express = require('express');
var app = express();

// omit

app.listen(1337,function(){

});
Run Code Online (Sandbox Code Playgroud)

这两个代码结构之间有什么主要区别吗?

jfr*_*d00 7

没有意义的区别.事实上,如果您查看代码app.listen(),它所做的只是做http.createServer()而不是调用.listen()它.它只是一个快捷方式,可以http直接使用模块.

这是以下代码app.listen():

app.listen = function listen() {
  var server = http.createServer(this);
  return server.listen.apply(server, arguments);
};
Run Code Online (Sandbox Code Playgroud)

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