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.server
和 deploy
脚本将被更新。
生产构建
要为生产构建应用程序,请使用 build
命令,此命令将自动运行 npm run build.server
和 npm 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
中创建一个新的入口文件。以下是使用入口文件中的内置中间件的示例。
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 有一个 部分 可以遵循以实现正确的适配器选择。