边缘安全加速平台 EO 迁移指南

本指南详述将Vercel项目迁移至EdgeOne Makers的完整流程,包括获取构建命令与输出目录、迁移vercel.json配置及函数代码,并在Makers上创建部署项目及配置自定义域名。 配置迁移:将vercel.json中的redirects、rewrites和headers规则迁移至edgeone.json,语法高度相似。 函数迁移:将Vercel函数导出改为onRequest系列函数,使用context对。

相关产品
边缘安全加速平台 EO 产品页,含版本规格、价格与购买入口。

本指南将帮助你将 Vercel 项目平滑迁移至 EdgeOne Makers。

一、1. 准备工作:查找构建命令和输出目录

首先,我们需要找到你 Vercel 项目的构建命令和输出目录:

1. 登录仪表板,找到要迁移的项目。

2. 进入 Settings(项目设置),选择 General(通用)选项卡。

3. 在 Build and Development Settings(编译与部署设置) 面板中,记录以下信息:

·Build Command (构建命令)

·Output Directory (输出目录)

例如:

·构建命令:npm run build

·输出目录: build

这些信息将在项目配置中使用。

二、2. 配置迁移:处理重定向和标头

如果你的项目使用了 vercel.json 文件来配置重定向或自定义标头,需要将这些配置迁移到 的 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" } ] } ]}

注意:EdgeOne Makers 的配置语法与 Vercel 非常相似,但可能存在一些细微差别。详细的配置选项请参见 edgeone.json。

三、3. 函数迁移:从 Vercel 到 EdgeOne Makers

两个平台在语法和使用方式上有一些差异。以下是一个简单的对比示例:

Vercel Functions 的 Hello World:

export const dynamic = 'force-dynamic'; export function POST(request) { return new Response(`Hello world`);}

Makers Functions 的 Hello World:

export default function onRequestPost(context) { return new Response(`Hello world`);}

主要差异:

·Makers 使用 onRequest 系列函数(如 onRequestPost)来处理不同的 HTTP 方法。

·Makers Functions 接收一个 context 对象,包含了请求信息、环境变量等。

·响应方式类似,都使用 Response 对象。

注意:说明:

注意:Makers Functions 支持 Cloud Functions 跟 Edge Functions,两者在特性上会有些许差异,例如 context 对象,可根据你的具体需求进行选择。

迁移建议:

·将导出函数改为 onRequest 系列函数。

·如果使用了 Vercel 特有的功能,可能需要寻找其他方案,可通过社群联系我们。

详细的函数使用请参见 Makers Functions。

四、4. 项目部署:在 EdgeOne Makers 创建新项目

准备工作完成后,在 Makers 上创建并部署项目:

1. 登录 腾讯云控制台,进入 Makers 服务。

2. 单击创建项目,选择你的 GitHub 仓库。

3. 在项目配置中,填入之前记录的构建命令和输出目录。

4. 单击开始部署,Makers 将自动构建和部署你的项目。

五、5. 域名配置:添加自定义域名

迁移步骤:

1. 在项目设置中添加你的自定义域名,获取 CNAME 记录值。

2. 登录你的 DNS 服务商控制台。

3. 删除之前为 Vercel 设置的 A、AAAA 或 CNAME 记录。

4. 添加新的 CNAME 记录,指向 EdgeOne Makers 提供的新值。

5. 等待 DNS 更新生效(可能需要几分钟到几小时)。

注意:如果你之前使用 Vercel DNS,需要将域名转移到其他 DNS 服务商,然后按上述步骤配置 CNAME 记录。

详细的域名添加过程可以参见 域名管理。

通过完成上述步骤,你已经成功将 Vercel 项目迁移到了 EdgeOne Makers。两个平台在某些方面有相似之处,但 Makers 提供了在中国地区更优化的访问体验。在强大的基础设施上,我们针对 Makers 产品特点进行了智能刷新预热等优化,提供开箱即用的使用体验。此外,Makers 在公测阶段相对竞品限制更少,为开发者提供更多选择的灵活性。在客户支持上,我们提供更及时的响应,致力于为开发者打造优质的产品体验。

如果你在迁移过程中遇到任何问题,欢迎参见 EdgeOne Makers 的 产品简介。

赞 (0)
上一篇 4天前
下一篇 4天前