質問

ノードと表現には新しいものです。私は特定のTCPポートを聴取するExpressアプリを作成する2つの方法にまたがっています。誰かがこれらの違いにいくつかの光を守ることができます...それは listen 関数

です。

方法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ソースコードのapp.listenの定義を調べてください。 https://github.com/visionmedia/express/blob/9e6b881F85666F26F2D2EA01765745507C674AD6/LIB / Application.js#L524-L548

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

上記の「方法2」で定義したものをやることの便利な方法です。( Refrelesherが必要な場合は、apply()が機能する方法です。。)

だから、彼らは同じことをします:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top