You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需转为NextJS,能否将edge-runtime API部署到Vercel?

无需迁移到Next.js即可部署Edge Runtime API到Vercel的方法

当然可以,你完全不用转Next.js,直接用Vercel的Edge Functions就能部署你的现有Edge Runtime代码,具体步骤如下:

1. 调整代码结构

在项目根目录创建api文件夹,把你的路由处理代码放到这个文件夹下的文件里(比如命名为router.js)。代码格式需要改成Vercel Edge Functions支持的导出方式——导出一个处理Request的异步函数,同时指定运行时为edge:

// 指定使用Edge Runtime
export const config = {
  runtime: 'edge',
};

// 你的路由处理逻辑,和本地fetch事件的逻辑基本一致
export default async function handleRequest(request) {
  const url = new URL(request.url);
  
  switch (url.pathname) {
    case '/api/user':
      return new Response(JSON.stringify({ name: 'Edge Runtime' }), {
        headers: { 'Content-Type': 'application/json' },
        status: 200
      });
    case '/api/status':
      return new Response('OK', { status: 200 });
    default:
      return new Response('404 Not Found', { status: 404 });
  }
}

你的本地代码里基于fetch事件的逻辑,只需要把事件对象里的request参数抽出来,直接放到这个处理函数里就能复用,两者的API标准完全兼容。

2. 部署到Vercel

确保你已经安装了Vercel CLI,然后执行以下步骤:

  • 登录Vercel账号:vercel login
  • 在项目根目录执行部署命令:vercel deploy
    按照CLI提示完成部署即可,部署后的API访问路径就是https://<你的项目域名>/api/router(或者你在api文件夹下的对应文件名路径)。

额外说明

  • 如果你需要自定义路由规则,可以在项目根目录创建vercel.json文件配置路由重写,比如把根路径指向你的Edge Function:
{
  "rewrites": [
    { "source": "/(.*)", "destination": "/api/router" }
  ]
}
  • Vercel的Edge Runtime和你本地用的edge-runtime基于相同的Web API规范,所以你本地测试通过的代码几乎不需要修改就能直接部署。

内容的提问来源于stack exchange,提问作者Thiti-Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:35:53