Node.js
使用 Node.js 运行时运行 Nitro 应用。
预设: node_server
Node.js 是生产构建的默认 Nitro 输出预设。
使用 Nitro CLI 构建项目:
nitro build使用 Node 服务器预设时,构建输出是一个入口点,用于启动一个可直接运行的 Node 服务器。要在本地试用该输出:
$ node .output/server/index.mjs
Listening on http://localhost:3000现在,你可以将完全独立的 .output 目录部署到你选择的托管平台。
#环境变量
你可以使用以下环境变量自定义服务器行为:
NITRO_PORT或PORT(默认为3000)NITRO_HOST或HOSTNITRO_UNIX_SOCKET- 设置为套接字文件路径时,服务器会监听所提供的 UNIX 套接字NITRO_SSL_CERT和NITRO_SSL_KEY- 同时设置这两个变量时,服务器会以 HTTPS 模式启动。这仅用于测试;在生产环境中,请将 Nitro 服务器运行在终止 SSL 的反向代理之后,例如 nginx 或 CloudflareNITRO_SHUTDOWN_DISABLED- 设置为'true'以跳过优雅关闭。默认为'false'NITRO_SHUTDOWN_SIGNALS- 触发优雅关闭的信号列表,以空格分隔。默认为'SIGINT SIGTERM'NITRO_SHUTDOWN_TIMEOUT- 强制关闭发生前的时间(以毫秒为单位)。默认为'30000'NITRO_SHUTDOWN_FORCE- 设置为'true'时,在关闭过程结束时调用process.exit()。设置为'false'时,进程会直接等待事件循环清空。默认为'true'
#集群模式
预设: node_cluster
要利用多个 CPU 核心来提升性能,请使用集群预设。
#环境变量
除了上述 node_server 环境变量之外:
NITRO_CLUSTER_WORKERS:集群工作进程数量(默认为可用 CPU 核心数)
#处理器(高级)
预设: node_middleware
Nitro 还提供了一个更底层的预设,可以导出一个中间件函数,以便你将其接入自定义服务器。
使用 Node 中间件预设时,构建输出是一个导出中间件处理器的入口点。
示例:
import { createServer } from 'node:http'
import { middleware } from './.output/server'
const server = createServer(middleware)
server.listen(8080)