Providers

Vercel

将 Nitro 应用部署到 Vercel 函数或边缘。

预设: vercel

Read more in Vercel 函数.
与此提供商的集成可以通过 零配置 实现。

使用 git 部署

  1. 将代码推送到您的 git 仓库(GitHub、GitLab、Bitbucket)。
  2. 将项目导入 到 Vercel。
  3. Vercel 会检测到您正在使用 Nitro,并会为您的部署启用正确的设置。
  4. 您的应用程序已部署!

在您的项目导入并部署后,所有后续推送到分支将生成 预览部署,对生产分支(通常是“main”)所做的所有更改将导致 生产部署

了解更多关于 Vercel 的 Git 集成

Monorepo

Vercel 支持单模块仓库。但是必须在“项目设置 > 常规”标签中指定自定义 “根目录”。确保勾选“包括根目录外的源文件”。

“根目录”的值示例:apps/webpackages/app

Vercel 边缘函数

预设: vercel_edge

Read more in Vercel 边缘函数.

可以将您的 Nitro 应用程序直接部署到 Vercel 边缘函数

要启用此目标,请将 NITRO_PRESET 环境变量设置为 vercel_edge

Vercel KV 存储

您可以轻松地将 Vercel KV 存储Nitro 存储 一起使用。

此功能目前处于测试阶段。请查看 驱动程序文档
  1. 安装 @vercel/kv 依赖项:
package.json
{
  "devDependencies": {
    "@vercel/kv": "latest"
  }
}

更新您的配置:

export default defineNitroConfig({
  storage: {
    data: { driver: 'vercelKV' }
  }
})
您需要设置 KV_REST_API_URLKV_REST_API_TOKEN 环境变量,或者将 urltoken 传递到驱动程序选项中。有关使用的信息,请查看 驱动程序文档

现在您可以在任何事件处理程序中访问数据存储:

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 路由的缓存,舍弃背景重新验证所需的时间间隔。

要按需重新验证页面:

  1. 创建一个环境变量以存储重新验证密钥
    • 您可以使用命令 openssl rand -base64 32生成密钥 来生成随机值。
  2. 更新您的配置:
    export default defineNitroConfig({
      vercel: {
        config: {
          bypassToken: process.env.VERCEL_BYPASS_TOKEN
        }
      }
    })
    
  3. 要触发“按需增量静态再生 (ISR)”并重新验证路径到 Prerender 函数,请使用带有 x-prerender-revalidate: bypassToken 头部向该路径发出 GET 或 HEAD 请求。当该 Prerender 函数端点使用此头部访问时,缓存将被重新验证。下一个对该函数的请求应返回一个新的响应。