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