# app.listen

启动一个 UNIX 套接字并监听给定路径上的连接。

# 概要

app.listen(path, [callback])

# 描述

启动一个 UNIX 套接字并监听给定路径上的连接。此方法与 Node 的 http.Server.listen() 相同。

const express = require('express')
const app = express()
app.listen('/tmp/sock')

# 重载

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

# 描述

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

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

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

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

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

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

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

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

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

Last Updated: 6/17/2023, 6:57:19 PM