从 Vercel 迁移至 EdgeOne Pages
本指南将帮助您将 Vercel 项目平滑迁移至 EdgeOne Pages。
1.准备工作:查找构建命令和输出目录
首先,我们需要找到您 Vercel 项目的构建命令和输出目录:
1. 登录仪表板,找到要迁移的项目。
2. 进入 Settings(项目设置),选择 General(通用) 选项卡。
3. 在 Build and Development Settings(编译与部署设置) 面板中,记录以下信息:
3.1 Build Command (构建命令)
3.2 Output Directory (输出目录)
例如:
构建命令: npm run build
输出目录: build
这些信息将在项目配置中使用。
2.配置迁移:处理重定向和标头
如果您的项目使用了 vercel.json 文件来配置重定向或自定义标头,需要将这些配置迁移到 EdgeOne Pages 的 edgeone.json 文件中。
以下是两者的对比示例:
Vercel 的 vercel.json 配置:
{"redirects": [{"source": "/articles","destination": "/blog","statusCode": 301}],"rewrites": [{"source": "/assets/*","destination": "/assets-new/:splat"}],"headers": [{"source": "/(.*)","headers": [{"key": "X-Frame-Options","value": "DENY"},{"key": "Cache-Control","value": "max-age=7200"}]},{"source": "/assets/*","headers": [{"key": "Cache-Control","value": "max-age=31536000"}]}]}
对应的 edgeone.json 配置:
{"redirects": [{"source": "/articles","destination": "/blog","statusCode": 301}],"rewrites": [{"source": "/assets/*","destination": "/assets-new/:splat"}],"headers": [{"source": "/*","headers": [{"key": "X-Frame-Options","value": "DENY"},{"key": "Cache-Control","value": "max-age=7200"}]},{"source": "/assets/*","headers": [{"key": "Cache-Control","value": "max-age=31536000"}]}]}
3.函数迁移:从 Vercel 到 EdgeOne Pages
两个平台在语法和使用方式上有一些差异。以下是一个简单的对比示例:
Vercel Functions 的 Hello World:
export const dynamic = 'force-dynamic';export function POST(request) {return new Response(`Hello world`);}
EdgeOne Pages Functions 的 Hello World:
export function onRequestPost(context) {return new Response(`Hello world`);}
主要差异:
Pages 使用 onRequest 系列函数(如 onRequestPost)来处理不同的 HTTP 方法。
Pages 函数接收一个 context 对象,包含了请求信息、环境变量等。
响应方式类似,都使用 Response 对象。
迁移建议:
将 Vercel 的导出函数改为 EdgeOne Pages 的 onRequest 系列函数。
如果使用了 Vercel 特有的功能,可能需要寻找其他方案,可通过社群联系我们。
4.项目部署:在 EdgeOne Pages 创建新项目
准备工作完成后,在 EdgeOne Pages 上创建并部署项目:
1. 登录腾讯云控制台,进入 Pages 服务。
2. 点击"创建项目",选择您的 GitHub 仓库。
3. 在项目配置中,填入之前记录的构建命令和输出目录。
4. 点击"开始部署"按钮,Pages 将自动构建和部署您的项目。
5.域名配置:添加自定义域名
迁移步骤:
1. 在项目设置中添加您的自定义域名,获取 CNAME 记录值。
2. 登录您的 DNS 服务商控制台。
3. 删除之前为 Vercel 设置的 A、AAAA 或 CNAME 记录。
4. 添加新的 CNAME 记录,指向 EdgeOne Pages 提供的新值。
5. 等待 DNS 更新生效(可能需要几分钟到几小时)。
注意: 如果您之前使用 Vercel DNS,需要将域名转移到其他 DNS 服务商,然后按上述步骤配置 CNAME 记录。
通过完成上述步骤,您已经成功将 Vercel 项目迁移到了 EdgeOne Pages。两个平台在某些方面有相似之处,但在强大的基础设施上,我们针对 Pages 产品特点进行了智能刷新预热等优化,提供开箱即用的使用体验。此外,Pages 在公测阶段相对竞品限制更少,为开发者提供更多选择的灵活性。在客户支持上,我们提供更及时的响应,致力于为开发者打造优质的产品体验。