Providers
Vercel
将 Nitro 应用部署到 Vercel 函数或边缘。
预设: vercel
与此提供商的集成可以通过 零配置 实现。
使用 git 部署
- 将代码推送到您的 git 仓库(GitHub、GitLab、Bitbucket)。
- 将项目导入 到 Vercel。
- Vercel 会检测到您正在使用 Nitro,并会为您的部署启用正确的设置。
- 您的应用程序已部署!
在您的项目导入并部署后,所有后续推送到分支将生成 预览部署,对生产分支(通常是“main”)所做的所有更改将导致 生产部署。
了解更多关于 Vercel 的 Git 集成。
Monorepo
Vercel 支持单模块仓库。但是必须在“项目设置 > 常规”标签中指定自定义 “根目录”。确保勾选“包括根目录外的源文件”。
“根目录”的值示例:apps/web
或 packages/app
。
Vercel 边缘函数
预设: vercel_edge
可以将您的 Nitro 应用程序直接部署到 Vercel 边缘函数。
要启用此目标,请将 NITRO_PRESET
环境变量设置为 vercel_edge
。
Vercel KV 存储
您可以轻松地将 Vercel KV 存储 与 Nitro 存储 一起使用。
此功能目前处于测试阶段。请查看 驱动程序文档。
- 安装
@vercel/kv
依赖项:
package.json
{
"devDependencies": {
"@vercel/kv": "latest"
}
}
更新您的配置:
export default defineNitroConfig({
storage: {
data: { driver: 'vercelKV' }
}
})
现在您可以在任何事件处理程序中访问数据存储:
export default defineEventHandler(async (event) => {
const dataStorage = useStorage("data");
await dataStorage.setItem("hello", "world");
return {
hello: await dataStorage.getItem("hello"),
};
});
API 路由
Nitro 的 /api
目录与 Vercel 不兼容。
相反,您必须使用:
routes/api/
进行独立使用server/api/
与 Nuxt 一起使用。
自定义构建输出配置
您可以通过在 nitro.config
中使用 vercel.config
键提供额外的 构建输出配置。它将与内置的自动生成配置合并。
按需增量静态再生 (ISR)
按需重新验证允许您随时清除 ISR 路由的缓存,舍弃背景重新验证所需的时间间隔。
要按需重新验证页面:
- 创建一个环境变量以存储重新验证密钥
- 您可以使用命令
openssl rand -base64 32
或 生成密钥 来生成随机值。
- 您可以使用命令
- 更新您的配置:
export default defineNitroConfig({ vercel: { config: { bypassToken: process.env.VERCEL_BYPASS_TOKEN } } })
- 要触发“按需增量静态再生 (ISR)”并重新验证路径到 Prerender 函数,请使用带有 x-prerender-revalidate:
bypassToken
头部向该路径发出 GET 或 HEAD 请求。当该 Prerender 函数端点使用此头部访问时,缓存将被重新验证。下一个对该函数的请求应返回一个新的响应。