CLI

Nitro 提供了 nitro 命令,用于开发、构建、预览和部署项目。

nitro 作为项目依赖安装时,通过包管理器运行它(npx nitropnpm nitroyarn nitrobun nitro、……),或者将其添加到 package.json 脚本中:

package.json
{
  "scripts": {
    "dev": "nitro dev",
    "build": "nitro build",
    "preview": "nitro preview"
  }
}

然后按照快速开始指南中的说明使用 npm run devpnpm dev 等命令。

Tip

每个命令都支持使用 --help 查看其参数概览(例如 nitro build --help),而 nitro --version 会打印已安装的 Nitro 版本。

所有命令都接受项目根目录,可以将其作为位置参数(nitro build ./my-app),也可以使用 --dir 标志(推荐)。默认使用当前目录。

Note

将 Nitro 用作 Vite 插件?建议使用 Vite CLI(vite devvite buildvite preview);Nitro 开发服务器不支持 Vite builder。

#nitro dev

启动支持热重载的开发服务器。

npx nitro dev [--dir <dir>] [--port <port>] [--host <host>]
标志描述
--dir项目根目录。
--port要监听的端口。
--host要监听的主机名。

开发服务器会监视 Nitro 配置:对 runtimeConfigrouteRules 的更改会热重载,而其他配置更改会触发开发服务器完全重启。

示例:

npx nitro dev --port 4000 --host 0.0.0.0

#nitro build

为生产环境构建项目。Nitro 会准备构建目录、复制公共资源、预渲染所有已配置的路由,并将服务器打包到输出目录(默认为 .output/)。

npx nitro build [--dir <dir>] [--preset <preset>] [--minify] [--builder <builder>] [--compatibility-date <date>]
标志描述
--dir项目根目录。
--preset要构建的部署preset(也可以使用 NITRO_PRESET 环境变量)。
--minify压缩输出,覆盖 preset 默认设置。使用 --no-minify 可禁用压缩。
--builder要使用的打包器:rolluprolldownvite(也可以使用 NITRO_BUILDER 环境变量)。
--compatibility-date用于 preset 兼容性的日期(也可以使用 NITRO_COMPATIBILITY_DATE 环境变量)。

示例:

npx nitro build --preset cloudflare_module

#NITRO_PRESET--preset

两者都会设置部署 preset,而 --preset 标志的优先级高于 NITRO_PRESET 环境变量。在部署平台和 CI 中,环境变量非常方便,因为你通常无法更改构建命令:

NITRO_PRESET=cloudflare_module npm run build

#nitro preview

启动本地服务器,以预览生产环境构建输出。

npx nitro preview [--dir <dir>] [--port <port>] [--host <host>]
标志描述
--dir项目根目录。
--port要监听的端口。
--host要监听的主机名。

示例:

npx nitro build
npx nitro preview

#nitro deploy

构建项目,然后运行所选 preset 的部署命令。

npx nitro deploy [--dir <dir>] [--prebuilt] [build flags...] [-- <extra deploy args>]
标志描述
--prebuilt跳过构建步骤,部署现有的构建输出。

所有 nitro build 标志(--preset--minify--builder--compatibility-date、……)也会被接受,并应用于构建步骤。-- 后的任何参数都会附加到底层部署命令(或者作为 args 传递给函数部署命令)。

Note

并非所有 preset 都支持 nitro deploy。如果所选 preset 未定义部署命令(或未找到构建输出),命令会报错失败。在这种情况下,请使用其他 preset,在 Nitro 配置中配置部署命令,或按照提供商的部署指南手动部署。

示例:

# 使用 cloudflare_module preset 构建,然后运行 wrangler deploy
npx nitro deploy --preset cloudflare_module

# 部署现有构建,而不重新构建
npx nitro deploy --prebuilt

#nitro task

操作 Nitro 任务(实验性功能)。

Important

任务支持处于实验阶段,需要使用 experimental.tasks 标志。task 子命令针对当前正在运行的开发服务器执行,因此请在 nitro dev 运行时于第二个终端中执行这些命令。详情请参阅任务文档

#nitro task list

列出可用任务及其描述。

npx nitro task list [--dir <dir>]
标志描述
--dir项目根目录。

#nitro task run

按名称运行任务,也可以选择传入 JSON 负载。

npx nitro task run <name> [--dir <dir>] [--payload <json>]
标志描述
--dir项目根目录。
--payload解析为 JSON 字符串,并作为负载传递给任务。

示例:

npx nitro task run db:migrate --payload '{"force": true}'

#nitro docs

从终端浏览 Nitro 文档(由 mdzilla 提供支持),也可以选择从特定页面路径开始。

npx nitro docs [page]