当省略127.0.0.1时,app.address()不为null,但是当设置主机时,它为空。
var express = require('express'),
app = express.createServer();
app.use(express.logger());
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000, '127.0.0.1');
console.log(app.address());
console.log('Express server started on port %s', app.address().port);
错误输出:TypeError: Cannot read property 'port' of null
节点v0.6.5
我安装了快速版本2.5.9 - 返回我已经安装了2.5.8 - 不确定是什么。
答案 0 :(得分:4)
因为,app.address()继承自Node的HTTP模块。如果您查看documentation,则会写:
返回由服务器报告的服务器的绑定地址和端口 操作系统。
因此我假设,当您请求具有IP的端口时,操作系统不会将其报告给您,因此此方法返回null。但是,如果不这样做,您可能需要计算机的IP或地址,因为每台计算机都不必是“localhost”,它们可以有不同的域允许您只将套接字绑定到该域。