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

我正在尝试检索NodeJS正在侦听的端口号。 目前我将端口号码保存在app.jsvariables中,并试图在index.js文件中访问它。 不过,我在index.js文件中得到了undefined值。 我不确定为什么会发生这种情况。 我怎样才能解决这个问题?

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:

var portNumber; //请求网页时调用正确路由的控制器代码的其余部分。

www.js:

/ ** *从环境中获取端口并存储在Express中。 * /

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

这将导出variables端口,并将在您导入时可用var app = require('../ app');

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);