Node.js Node.js

Node.js 部署是默认的 Nitro 预设。

Node.js Server

默认预设 node-server (switch to this preset)

默认预设
这是生产构建的默认 nitro 输出预设。

使用 nitro CLI 构建项目:

bash
nitro build

当使用 Node 服务器预设运行 nitro build 时,结果将是一个启动准备运行的 Node 服务器的入口点。 尝试输出:

bash
$ node .output/server/index.mjs
# Listening on http://localhost:3000

您现在可以将完全独立的.output目录部署到您选择的主机上。

Environment Variables

您可以使用以下环境变量自定义服务器行为:

  • NITRO_PORT or PORT (defaults to 3000)
  • NITRO_HOST or HOST
  • NITRO_SSL_CERT and NITRO_SSL_KEY - 如果两者都存在,这将以 HTTPS 模式启动服务器。 在绝大多数情况下,这不应该用于测试以外的用途,并且 Nitro 服务器应该在终止 SSL 的反向代理(如 nginx 或 Cloudflare)后面运行。

Cluster mode

默认预设 node-cluster (switch to this preset)

为了获得更高的性能和利用多核处理,您可以使用集群预设。

Environment Variables

除了 node-server 环境变量,您还可以自定义行为:

  • NITRO_CLUSTER_WORKERS: 集群工作人员数(默认为可用 cpu 核心数)

Handler (advanced)

默认预设 node(切换到此预设)

Nitro 还有一个更底层的预设,它直接导出带有 (req, res) => {} 签名的函数,可用于中间件和自定义服务器。

当使用 Node 预设运行 nitro build 时,结果将是一个入口点,导出一个带有 (req, res) => {} 签名的函数。

Example:

js
import { createServer } from 'node:http'
import handler from './.output/server'

const server = createServer(handler)
server.listen(8080)