Node.js是应用程序不侦听指定的端口

我指定的端口30000,但应用程序结束了在不同的端口上收听。

这是我正在使用的代码:

var express = require('express'); var bodyParser = require('body-parser'); var path = require('path'); var app = express(); app.get('/', function(req, res) { res.send('Hello World'); }); app.listen(30000, function() { console.log('Server started on port %d', app.listen().address().port); }); 

应用程序正在侦听的端口在运行时被设置为不同的值。 如果我使用它在浏览器中login到控制台的值,它将正常工作。

非常感谢!

你运行app.listen()两次 – 第二次在console.log的参数中。

第二个没有端口作为参数,所以它select一个随机的端口。

改变这个:

 app.listen(30000, function() { console.log('Server started on port %d', app.listen().address().port); }); 

至:

 var listener = app.listen(30000, function () { console.log('Server started on port %d', listener.address().port); });