Express.js在执行时获取地址和端口

时间:2015-01-01 12:33:54

标签: javascript node.js express

我已经阅读了很多有关Nodejs和Expressjs的帖子,但我仍然不明白这是如何运作的:

这是Express.js的基本Hello World应用程序(取自http://expressjs.com/starter/hello-world.html)。

var express = require('express')
var app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

var server = app.listen(3000, function () {

var host = server.address().address
var port = server.address().port

console.log('Example app listening at http://%s:%s', host, port)

})

当我们仍在处理我们最终会绑定到server的内容时,我们如何使用var server获取主机和端口?

1 个答案:

答案 0 :(得分:3)

因为它是异步的。在定义和初始化server之后,回调仅在稍后运行。

var server = app.listen(3000, function () {

    var host = server.address().address
    var port = server.address().port

    console.log('Example app listening at http://%s:%s', host, port)

})

正确的缩进有时会有助于看到这一点。