2017-02-10 123 views
1

我指定了端口30000,但应用程序最终在不同的端口上侦听。Node.js应用程序未在指定的端口上侦听

这是我使用的代码:

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

应用是听它运行时,被设置为不同的值的端口。如果我使用它在浏览器中登录到控制台的值,则它可以正常工作。

非常感谢!

回答

2

您运行app.listen()两次 - 第二次参数为console.log

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

更改此:

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); 
}); 
相关问题