获取NodeJS服务器正在侦听的端口号

问题描述:

我正在尝试检索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; 

这将导出可变端口,将可每当你 进口它的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

对不起,我上次犯的错。我直接用于出口没有对象有..这个例子应该为你工作 –