Cloudflare 中文文档
Pages
编辑这个页面
跳转官方原文档
Set theme to dark (⇧+D)

从Workers迁移到Pages

在本教程中,你将学习如何将现有的 Cloudflare Workers Sites 应用程序迁移到 Cloudflare Pages。

前提条件是,你应该有一个使用 Wrangler 创建的 Cloudflare Workers Sites 项目。

Cloudflare Pages 为服务网站的各个方面提供内置默认设置。你可以使用 Functions将 Worker 中的自定义行为(如自定义缓存逻辑)移植到 Cloudflare Pages 项目中。这样就可以实现一个易于使用、基于文件的路由系统。你还可以将自定义标题和重定向迁移到 Pages。

你可能已经有了一个相当复杂的 Worker,而且,或者说将其拼接到 Pages 基于文件的路由系统中会很繁琐。在这种情况下,Pages 为开发人员提供了在 Pages 项目的输出目录中定义一个 _worker.js 文件的功能。

迁移到 Cloudflare Pages 后,你将能够访问 预览部署 和自动分支部署等功能,无需额外配置。

​​ 删除不必要的代码

工人遗址项目由以下部分组成:

  1. 使用静态网站工具或 HTML、CSS 和 JavaScript 文件的静态集合构建的应用程序。
  2. 如果使用静态网站工具,则需要一个构建目录(在 wrangler.toml 中称为bucket),静态项目会在此构建 HTML、CSS 和 JavaScript 文件。
  3. 为构建目录提供服务的 Worker 应用程序。对于大多数项目来说,这可能是 workers-site 目录。

迁移到 Cloudflare Pages 时,请删除 Workers 应用程序和任何相关的 wrangler.toml 配置文件或构建输出。相反,请注意并记录你的 build 命令(如果有的话),以及项目目录中 wrangler.toml 文件中的 bucket 字段或构建目录。

​​ 迁移header和重定向

你可以在输出目录中创建一个 _redirects 文件,将重定向迁移到 Pages。Pages 目前对高级重定向的支持有限。未来将添加更多支持。有关支持类型的列表,请参阅重定向文档

_redirects 文件外,Cloudflare 还提供 批量重定向,用于处理超过 Pages 设置的 2,100 条重定向规则限制的重定向。

也可以将自定义标题移入输出目录中的 _headers 文件。需要注意的是,在 _headers文件中定义的自定义header目前不会应用于函数的响应,即使函数路由与 URL 模式相匹配。要了解有关处理标题的更多信息,请参阅 标题

​​ 创建一个新的 Pages 项目

​​ 连接到你的 Git 提供商

build 命令build 目录记录到一个单独的位置后,删除应用程序中的所有其他内容,并将项目的新版本推送到 git 提供商。按照 入门指南 使用你之前保存的 build 命令build 目录,将你的项目添加到 Cloudflare Pages。

如果选择在 Pages 项目中使用自定义域,可以将其设置为与当前部署的 Workers 应用程序相同的自定义域。请按照 添加自定义域 的步骤操作。

​​ 使用直接上传

如果你的 Workers 网站有自定义构建设置,你可以使用 Direct Upload将预构建资产导入页面。此外,你还可以使用Wrangler CLI或拖放选项,将网站资产直接传送到 Cloudflare 全球网络。

通过这些选项,你可以从 CLI 或仪表板创建新项目并为其命名。项目部署完成后,你可以按照 Pages 项目中的 添加自定义域 步骤设置自定义域。

​​ 清理旧应用程序并分配域名

部署完 Pages 应用程序后,删除 Worker:

  1. 登录 Cloudflare 仪表板 并选择你的账户。
  2. 进入工作者和页面,在概览中选择你的工作者。
  3. 转到 管理服务> 删除

删除 Workers 应用程序后,请求将转至 Pages 应用程序。通过完成本指南,你已成功将 Workers Sites 项目迁移到 Cloudflare Pages。