app.listen([port[, host[, backlog]]][, callback])

中英双语

绑定并监听指定主机和端口上的连接。此方法与 Node 的 http.Server.listen() 相同。

如果端口被省略或为 0,操作系统将分配一个任意未使用的端口,这对于自动化任务(测试等)等情况很有用。

var express = require('express')
var app = express()
app.listen(3000)

express() 返回的 app 实际上是一个 JavaScript Function,旨在作为回调传递给 Node 的 HTTP 服务器来处理请求。这使得为​​您的应用程序的 HTTP 和 HTTPS 版本提供相同的代码库变得很容易,因为应用程序不会从这些版本继承(它只是一个回调):

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

http.createServer(app).listen(80)
https.createServer(options, app).listen(443)

app.listen() 方法返回一个 http.Server 对象,并且(对于 HTTP)是以下的便捷方法:

app.listen = function () {
  var server = http.createServer(this)
  return server.listen.apply(server, arguments)
}

注意:Node 的 http.Server.listen() 方法的所有形式实际上都支持。