Vercel 边缘适配器

Qwik City Vercel 边缘适配器允许您将 Qwik City 连接到 Vercel 边缘函数

安装

要集成 vercel-edge 适配器,请使用 add 命令

npm run qwik add vercel-edge

它将自动安装所需的依赖项,包括 Vercel CLI

适配器将在 adapters/ 目录中添加一个新的 vite.config.ts,并将创建一个新的入口文件,例如

└── adapters/
    └── vercel-edge/
        └── vite.config.ts
└── src/
    └── entry.vercel-edge.tsx

此外,在 package.json 中,build.serverdeploy 脚本将被更新。

生产构建

要为生产构建应用程序,请使用 build 命令,此命令将自动运行 npm run build.servernpm run build.client

npm run build

在此处阅读完整指南

开发部署

要将应用程序部署到开发环境

npm run deploy

请注意,您可能需要一个 Vercel 帐户 才能完成此步骤!

生产部署

使用 npm run qwik add vercel-edge 安装集成后,项目就可以部署到 Vercel。但是,您需要创建一个 git 仓库并将代码推送到它。

有关如何部署网站的更多信息,请参阅 Vercel 文档:Vercel 文档

环境变量

您可以像这样从 Vercel 访问环境变量 process.env['MY_ENV_VAR']

高级

Vercel 边缘入口中间件

添加 vercel-edge 适配器后,将在 src/entry.vercel-edge.tsx 中创建一个新的入口文件。以下是使用入口文件中的内置中间件的示例。

src/entry.vercel-edge.tsx
import { createQwikCity } from '@builder.io/qwik-city/middleware/vercel-edge';
import qwikCityPlan from '@qwik-city-plan';
import render from './entry.ssr';
 
export default createQwikCity({ render, qwikCityPlan });

编译后的中间件将在 .vercel/output 目录中构建。

Vercel 边缘函数

Vercel 边缘函数 默认情况下在 Vercel 的边缘网络上全局部署,使您能够将服务器端逻辑移到边缘,靠近访问者的来源。

边缘函数使用 Vercel 边缘运行时,该运行时基于与 Chrome 浏览器相同的 高性能 V8 JavaScript 和 WebAssembly 引擎构建。通过利用这个小型运行时,边缘函数可以比无服务器函数具有更快的冷启动和更高的可扩展性。

边缘函数在缓存之后运行,可以缓存和返回响应。

Drizzle 与 Vercel 边缘函数

在边缘运行 Postgres 需要边缘兼容的驱动程序,因为 Postgres 依赖于 Node.js API。当不使用适配器时,部署过程中可能会出现以下错误

└── The Edge Function "_qwik-city" is referencing unsupported modules
└── Cannot bundle Node.js built-in "node:events" imported from "node_modules\postgres\cf\polyfills.js"

幸运的是,drizzle 有一个 部分 可以遵循以实现正确的适配器选择。

贡献者

感谢所有帮助改进本文档的贡献者!

  • adamdbradley
  • manucorporat
  • hamatoyogi
  • reemardelarosa
  • mhevery
  • gioboa
  • mrhoodz