在本教程中,你将了解如何将现有 Cloudflare Workers Sites 应用迁移到 Cloudflare Pages。
作为前置条件,你应已有一个使用 Wrangler ↗ 创建的 Cloudflare Workers Sites 项目。
Cloudflare Pages 为站点托管的各个方面提供内置默认值。你可以使用 Functions 将 Worker 中的自定义行为(例如自定义缓存逻辑)移植到 Cloudflare Pages 项目中。这提供了易于使用的基于文件的路由系统。你还可以将自定义标头和重定向迁移到 Pages。
如果你已有较复杂的 Worker,或将其拆分为 Pages 基于文件的路由系统较为繁琐,Pages 允许开发者在 Pages 项目输出目录中定义 _worker.js 文件。
迁移到 Cloudflare Pages 后,你将能够使用预览部署和自动分支部署等功能,无需额外配置。
Workers Sites 项目由以下部分组成:
- 使用静态站点工具构建的应用,或一组静态 HTML、CSS 和 JavaScript 文件。
- 若使用静态站点工具,则有一个构建目录(在 Wrangler 配置文件 中称为
bucket),静态项目在此生成 HTML、CSS 和 JavaScript 文件。 - 用于提供该构建目录的 Worker 应用。对于大多数项目,这通常是
workers-site目录。
迁移到 Cloudflare Pages 时,移除 Worker 应用及任何相关的 Wrangler 配置文件或构建输出。改为在项目目录中记录你的 build 命令(如有)以及 Wrangler 文件中的 bucket 字段或构建目录。
你可以在输出目录中创建 _redirects 文件,将重定向迁移到 Pages。Pages 目前对高级重定向的支持有限,未来会添加更多支持。有关支持的类型列表,请参阅重定向文档。
除 _redirects 文件外,Cloudflare 还提供 Bulk Redirects,用于处理超出 Pages 2,100 条重定向规则限制的重定向。
自定义标头也可移至输出目录中的 _headers 文件。请注意,_headers 文件中定义的自定义标头目前不会应用于 Functions 的响应,即使 Function 路由与 URL 模式匹配。有关标头处理的更多信息,请参阅标头。
在单独位置记录构建命令和构建目录后,从应用中移除其余内容,并将项目新版本推送到 Git 提供商。按照快速入门指南将项目添加到 Cloudflare Pages,使用之前保存的构建命令和构建目录。
若要为 Pages 项目使用自定义域名,可将其设置为与当前部署的 Workers 应用相同的自定义域名。按照为 Pages 项目添加自定义域名的步骤操作。
若 Workers 站点有自定义构建设置,可通过 Direct Upload 将预构建资源上传到 Pages。此外,你可以使用 Wrangler CLI 或拖放选项,将网站资源直接发布到 Cloudflare 全球网络。
这些选项允许你从 CLI 或仪表板创建并命名新项目。项目部署完成后,可按照为 Pages 项目添加自定义域名的步骤设置自定义域名。
部署 Pages 应用后,删除 Worker 的步骤如下:
-
在 Cloudflare 仪表板中,前往 Workers & Pages 页面。
Go to Workers & Pages ↗ -
选择你的 Worker。
-
前往 Manage(管理) > Delete Worker。
移除 Workers 应用后,请求将发送到 Pages 应用。完成本指南后,你已成功将 Workers Sites 项目迁移到 Cloudflare Pages。