CLI
Nitro 提供了 nitro 命令,用于开发、构建、预览和部署项目。
当 nitro 作为项目依赖安装时,通过包管理器运行它(npx nitro、pnpm nitro、yarn nitro、bun nitro、……),或者将其添加到 package.json 脚本中:
{
"scripts": {
"dev": "nitro dev",
"build": "nitro build",
"preview": "nitro preview"
}
}然后按照快速开始指南中的说明使用 npm run dev、pnpm dev 等命令。
Tip
每个命令都支持使用 --help 查看其参数概览(例如 nitro build --help),而 nitro --version 会打印已安装的 Nitro 版本。
所有命令都接受项目根目录,可以将其作为位置参数(nitro build ./my-app),也可以使用 --dir 标志(推荐)。默认使用当前目录。
Note
将 Nitro 用作 Vite 插件?建议使用 Vite CLI(vite dev、vite build、vite preview);Nitro 开发服务器不支持 Vite builder。
#nitro dev
启动支持热重载的开发服务器。
npx nitro dev [--dir <dir>] [--port <port>] [--host <host>]| 标志 | 描述 |
|---|---|
--dir | 项目根目录。 |
--port | 要监听的端口。 |
--host | 要监听的主机名。 |
开发服务器会监视 Nitro 配置:对 runtimeConfig 或 routeRules 的更改会热重载,而其他配置更改会触发开发服务器完全重启。
示例:
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 | 要使用的打包器:rollup、rolldown 或 vite(也可以使用 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]