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

时间:2016-01-22 12:53:44

标签: javascript node.js express

我正在尝试检索NodeJS正在侦听的端口号。目前我在app.js变量中保存端口号值并尝试在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;

1 个答案:

答案 0 :(得分:1)

  

这将导出变量端口,并随时可用   导入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);