Node.js 节点http和express侦听差异

Node.js 节点http和express侦听差异,node.js,http,express,listen,Node.js,Http,Express,Listen,我不熟悉node和express。我遇到了两种创建express应用程序的方法,可以监听特定的TCP端口,据我所知,这两种方法可以产生相同的结果。如果有什么不同的话,有人能解释一下这些不同之处吗。。。这是收听功能 方法1-仅使用express模块: var express = require('express'); var port = 8080; var app = express(); app.set('port', port); ... // different listen metho

我不熟悉node和express。我遇到了两种创建express应用程序的方法,可以监听特定的TCP端口,据我所知,这两种方法可以产生相同的结果。如果有什么不同的话,有人能解释一下这些不同之处吗。。。这是收听功能

方法1-仅使用express模块:

var express = require('express');

var port = 8080;
var app = express();
app.set('port', port);
...
// different listen method
app.listen(app.get('port'), function(){ 
  console.log('now listening on port ' + app.get('port'));
});
方法2-使用express和http模块:

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

var port = 8080;
var app = express();
app.set('port', port);
...
// different listen method
http.createServer(app).listen(app.get('port'), function(){ 
  console.log('now listening on port ' + app.get('port'));
});

查看
应用程序的定义。在express源代码中收听

这只是一种方便的方法,可以实现上面“方法2”中定义的功能。()

所以,他们做了同样的事情:)

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