2016-01-22 96 views
2

我正在嘗試檢索NodeJS偵聽的端口號。目前我將端口號值保存在app.js變量中,並嘗試在index.js文件中訪問它。但是,我在index.js文件中獲得undefined值。我不確定爲什麼會發生這種情況。我怎樣才能解決這個問題?獲取NodeJS服務器正在偵聽的端口號

index.js

var express = require('express'); 
var app = require('../app'); 
var router = express.Router(); 
var socket = require('socket.io'); 

/* GET home page. */ 
router.get('/', function(req, res, next) { 
    res.render('index', { title: 'Express' }); 
    console.log("port: "+ app.portNumber); 
    socket.listen(app.portNumber); 
}); 


module.exports = router; 

app.js:

變種PORTNUMBER; //請求網頁時調用正確路由的控制器代碼的其餘部分。

www.js:

/** * 從環境和存儲在快速獲取端口。 */

var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 
app.portNumber = port; 

回答

1

這將導出可變端口,將可每當你 進口它的VAR應用=需要( '../應用');

app.js:

var port = normalizePort(process.env.PORT || '3000'); 
app.set('port', port); 
app.portNumber = port; 

exports = module.exports = { 
    portNumber : port 
} 

index.js:

var app = require('../app'); 
console.log("port: "+ app.portNumber); 
+0

對不起,我上次犯的錯。我直接用於出口沒有對象有..這個例子應該爲你工作 –

相關問題