Netlify 边缘适配器
Qwik City Netlify 边缘适配器允许您将 Qwik City 连接到 Netlify 边缘函数.
安装
要集成 netlify-edge
适配器,请使用 add
命令
npm run qwik add netlify-edge
它将自动安装所需的依赖项,包括 Netlify CLI.
适配器将在 adapters/
目录中添加一个新的 vite.config.ts
,并将创建一个新的入口文件,例如
└── adapters/
└── netlify-edge/
└── vite.config.ts
└── src/
└── entry.netlify-edge.tsx
此外,在 package.json
中,build.server
和 deploy
脚本将被更新。
生产构建
要为生产构建应用程序,请使用 build
命令,此命令将自动运行 npm run build.server
和 npm run build.client
npm run build
开发部署
要将应用程序部署到开发环境
npm run deploy
请注意,您可能需要一个 Netlify 帐户 才能完成此步骤!
生产部署
使用 npm run qwik add netlify-edge
安装集成后,项目就可以部署到 Netlify 了。但是,您需要创建一个 Git 仓库并将代码推送到该仓库。
有关如何部署网站的更多信息,请参阅 Netlify 文档:Netlify 文档
高级
Netlify 边缘入口中间件
添加 netlify-edge
适配器后,将在 src/entry.netlify-edge.tsx
中创建一个新的入口文件。以下是在入口文件中使用内置中间件的示例。
import { createQwikCity } from '@builder.io/qwik-city/middleware/netlify-edge';
import qwikCityPlan from '@qwik-city-plan';
import render from './entry.ssr';
export default createQwikCity({ render, qwikCityPlan });
编译后的中间件将构建在 .netlify/edge-functions
目录中。
Netlify 边缘函数声明
Netlify 边缘函数声明 可以配置为在特定 URL 模式上运行。每个边缘函数声明将一个站点路径模式与一个函数关联,该函数将在匹配该路径的请求上执行。单个请求可以从一系列声明中执行一系列边缘函数。单个边缘函数可以与多个路径关联,这些路径跨越各种声明。
这对于确定页面响应是否应为服务器端渲染 (SSR) 或者响应是否应使用静态站点生成的 (SSG) index.html
文件很有用。
默认情况下,Netlify 边缘适配器将生成一个 .netlify/edge-middleware/manifest.json
文件,该文件由 Netlify 部署使用来确定哪些路径应该使用边缘函数,哪些路径不应该使用边缘函数。
要覆盖生成的清单,您可以 添加一个声明 到 netlify.toml
中,使用 [[edge_functions]]
配置。例如
[[edge_functions]]
path = "/admin"
function = "auth"
Netlify 请求上下文
Netlify 上下文 在端点方法的 platform
参数中可用
export const onRequest = async ({ platform }) => {
platform.log('requested ip:', platform.ip);
};
环境变量
export const onRequest = async ({ env }) => {
platform.log('netlify serverless env read from Netlify UI or CLI', env.get('API_KEY'));
};