Skip to main content
Vercel 是一个用于构建、部署和扩展应用的云平台。Vercel Functions 可以在 Bun 运行时上运行,可以通过 Vercel 支持的框架运行,也可以作为 Bun.serve() 服务器运行。
Vercel 上的 Bun 运行时目前处于 Beta 阶段。自动源映射、字节码缓存,以及 node:httpnode:https 的请求指标目前尚不支持(fetch 的请求指标支持)。请参阅 Vercel 文档中的功能支持

1

在 vercel.json 中配置 Bun

要在 Bun 上运行 Functions,请将 bunVersion 字段添加到 vercel.json 文件中:
vercel.json
该值必须为 "1.x";Vercel 会管理次要版本和补丁版本。为了达到最佳效果,请确保你的本地 Bun 版本与 Vercel 使用的版本相匹配。
2

添加服务器

选择请求到达代码的方式。
Vercel 的 Bun 框架预设会将部署的每个请求发送到单个 Bun.serve() 服务器。当项目设置了 bunVersion、包含 bun.lock 文件,并且在以下路径之一存在服务器入口点时,Vercel 会使用该预设:
  • server.{js,cjs,mjs,ts,cts,mts}
  • src/server.{js,cjs,mjs,ts,cts,mts}
在 Bun 1.2 或更高版本中,bun install 会创建 bun.lock。在旧版本中,请运行 bun install --save-text-lockfile。该预设不会检测二进制格式的 bun.lockb在模块加载时调用一次 Bun.serve()。Vercel 会检测到该调用,并将传入请求路由到它。支持 fetchrouteserrorwebsocket 选项:
server.ts
最小项目包含 package.jsonbun.lockserver.ts 以及上一步中的 vercel.json。它不需要 api/ 目录或任何路由配置。
porthostname 仅在本地运行服务器时生效;它们不会配置部署后的端点。Vercel 不支持 Unix 套接字以及 routes 中的 HTML 导入要提供 WebSocket 连接,请参阅 Vercel 的 WebSockets 文档中的 Bun 示例
3

部署你的应用

将你的代码库连接至 Vercel,或通过 CLI 进行部署:
terminal
或者全局安装 Vercel CLI:
terminal
查看更多 Vercel 部署 CLI 文档 →
4

验证运行时

要确认你的部署使用了 Bun,可以打印 Bun 版本:
index.ts
参考 Vercel Bun 运行时文档了解功能支持 →

  • Fluid 计算:Bun 和 Node.js 运行时均运行在 Fluid 计算上,并支持相同的核心 Vercel Functions 功能。
  • 中间件:若要使用 Bun 运行路由中间件,需要将运行时设置为 nodejs
middleware.ts