エクスプレスアプリケーションでルーティングテーブルをエクスポートする際に問題があります。 参照をエクスポートし、ポインタnode.jsをエクスポートします
var routingTable = [];
は、その後、私はちょうどイベントをリスニングサーバーを使用して新しいルーティングオブジェクトをプッシュしていますシンプルなルーティングを作成する:/bin/www.jsファイル内
まず私は、ルーティングテーブルをreporesents私のグローバル変数を得ました。
server.on('listening', onListening);
function onListening() {
var addr = server.address();
var bind = typeof addr === 'string'
? 'pipe ' + addr
: 'port ' + addr.port;
console.log('Listening on ' + bind);
routingTable.push({
address: "localhost:8080",
version: 1,
name: "some-service"
});
}
私がconsole.logのルーティングテーブルを押すと、この単一のオブジェクトが得られます。私は空の配列を得た。このgetRoutingTable機能を使用した後
var getRoutingTable = require('../bin/www').getRouting;
:
exports.getRouting = function() {
return routingTable;
};
このゲッターは、routesファイルにエクスポートされます。
は、その後、私は、その変数のgetterを作成しました。この変数をエクスポートして、他のすべてのプロジェクトファイルで使用および更新できる正しい方法は何ですか?
サーバーリスニングイベントが機能していないと思います。そのため、「routingTable」は空白のままです。 –
@LalitGoswami説明をもう一度お読みください。 onListening()関数でconsole.logを実行すると、要素が追加されたテーブルが表示されます。 –