在本教程中,你将学习如何将 Vercel 应用迁移到 Cloudflare Workers。
你需要有一个已部署在 Vercel 上、希望托管到 Cloudflare Workers 的现有项目。Cloudflare Workers 不支持 Vercel 专有功能。查看 Workers 兼容性矩阵 了解更多支持情况。
Next.js、按需渲染的 Astro 等部分框架有专门的 Cloudflare Workers 迁移指南。请参阅我们的框架指南了解更多信息。如果你的框架有 **Deploy an existing project on Workers(在 Workers 上部署现有项目)**指南,请按照该指南中的具体说明操作。否则,继续执行以下步骤。
要将应用迁移到 Cloudflare Workers,你需要知道构建命令和构建目录。Cloudflare Workers 会使用这些信息来构建和部署你的应用。下面将介绍如何在 Vercel 仪表板中查找这些值。
在 Vercel 仪表板中,找到要迁移到 Workers 的项目。进入该项目的 **Settings(设置)**选项卡,找到 **Build & Development settings(构建与开发设置)**面板。你会在那里看到 **Build Command(构建命令)**和 **Output Directory(输出目录)**字段。如果你使用的是框架,这些值可能未填写,但会显示框架使用的默认值。请保存这些值,以便部署到 Cloudflare Workers。在下图中,Build Command 为 npm run build,Output Directory 为 dist。
在项目根目录中,创建 wrangler.jsonc 或 wrangler.toml 文件(推荐使用 wrangler.jsonc)。文件内容取决于你要部署的应用类型:静态站点还是单页应用。
在每种情况下,请确保将 <your-project-name> 替换为你的项目名称,将 <your-build-directory> 替换为 Vercel 中的构建目录。请设置正确的路径,例如构建目录为 dist 时使用 ./dist,为 build 时使用 ./build。
对于静态站点,你需要在 wrangler 文件中添加以下内容。
{
"name": "<your-project-name>",
// Set this to today's date
"compatibility_date": "2026-08-17",
"assets": {
"directory": "<your-build-directory>",
},
}name = "<your-project-name>"
# Set this to today's date
compatibility_date = "2026-08-17"
[assets]
directory = "<your-build-directory>"对于单页应用,你需要在 wrangler 文件中添加以下内容,其中包含 not_found_handling 字段。
{
"name": "<your-project-name>",
// Set this to today's date
"compatibility_date": "2026-08-17",
"assets": {
"directory": "<your-build-directory>",
"not_found_handling": "single-page-application",
},
}name = "<your-project-name>"
# Set this to today's date
compatibility_date = "2026-08-17"
[assets]
directory = "<your-build-directory>"
not_found_handling = "single-page-application"部分框架提供了迁移到 Cloudflare Workers 的专门指南。请参阅我们的框架指南了解更多信息。如果你的框架包含“Deploy an existing project on Workers”(在 Workers 上部署现有项目)指南,请按照该指南中的详细说明操作。
你的应用已具备构建和部署到 Cloudflare Workers 所需的正确配置。
Connect a new Worker(连接新的 Worker)指南将说明如何将 GitHub 项目连接到 Cloudflare Workers。在配置步骤中,确保构建命令与你在 Vercel 上找到的命令相同。此外,部署命令应为默认的 npx wrangler deploy。
Workers 自定义域名仅支持已在你账户中配置为 zone 的域名。zone 是指由 Cloudflare 为你管理的域名(例如 example.com),包括其 DNS 和流量。
按照为 Workers 项目添加自定义域名中的说明操作。你还可以找到有关为域名创建 zone 的更多信息。
自定义域名配置完成并开始将请求发送到 Cloudflare Workers 后,你可以安全地删除 Vercel 应用。
如需更多迁移说明,请参阅 Cloudflare Pages 到 Workers 迁移指南。虽然该指南并非 Vercel 专用,但其中包含一些可能有帮助的额外步骤。