恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

如何把 Bun.serve() 应用部署到 Vercel 并配置 bunVersion

  • 首页
  • 资讯中心
  • /
  • 如何把 Bun.serve() 应用部署到 Vercel 并配置 bunVersion

相关资讯

Django个人主页开发实战:从模型到Admin后台全解析 2026/9/13 3:16:07
用AccessibilityService复现李跳跳:从无障碍服务到自动跳过广告 2026/9/13 3:16:07
如何用 Docker 运行 9Router 官方镜像并把数据持久化到宿主机的 ~/.9router? 2026/9/13 3:16:07

最新资讯

RAG技术解析:大模型应用开发与优化实战
贝叶斯优化驱动的车辆模型预测控制参数调优实战
XGBoost实战指南:从数学原理、数据预处理到代码调参
DApp开发进化论:从数字工具到链上自治理组织
充电宝ESD失效原理与整机防护实战指南
猫抓 cat-catch:如何 3 分钟把网页视频和 M3U8 流媒体变成可下载文件

今日推荐

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

如何把 Bun.serve() 应用部署到 Vercel 并配置 bunVersion

发布时间:2026/9/13 3:16:07
如何把 Bun.serve() 应用部署到 Vercel 并配置 bunVersion 如何把 Bun.serve() 应用部署到 Vercel 并配置 bunVersion【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bun如果你的项目核心是一个Bun.serve()HTTP 服务器例如通过 routes 和 fetch 处理请求想把它原样部署到 Vercel 而不是套一层框架需要完成三件事在vercel.json中通过bunVersion字段指定 Bun 运行时版本、让 Vercel 的 Bun framework preset 能发现你的服务器入口、然后用 Vercel CLI 完成部署并验证运行时。整个过程的前提是项目使用 Bun 管理依赖有bun.lock文本锁文件服务器在模块加载时调用一次Bun.serve()。在 vercel.json 中配置 bunVersion要让 Vercel 的 Functions 跑在 Bun 运行时上需要在项目根目录的vercel.json中添加bunVersion字段{ bunVersion: 1.4.x }文档示例中使用的是1.4.x。这里写的是 minor 版本patch 版本由 Vercel 管理。为了让本地行为和线上一致建议把本地安装的 Bun 版本调到与 Vercel 使用的版本一致。注意 TanStack Start 的生态文档中给出的vercel.json写法是bunVersion: 1.x写法风格与上面一致按项目实际选用的 minor 版本填写即可。用 Bun.serve() 承载整个应用Vercel 的 Bun framework preset 会把部署内的所有请求转发到同一个Bun.serve()服务器。preset 生效需要同时满足三个条件项目设置了bunVersion上一步的vercel.json项目中有bun.lock文件Bun 1.2 及以上版本运行bun install会自动生成更早版本需要运行bun install --save-text-lockfilepreset 不识别二进制的bun.lockb格式服务器入口位于以下路径之一server.{js,cjs,mjs,ts,cts,mts}src/server.{js,cjs,mjs,ts,cts,mts}在入口文件中模块加载时调用一次Bun.serve()Vercel 检测到这个调用后就会把进来的请求路由给它。Vercel 支持fetch、routes、error和websocket四个选项文档给出的示例是Bun.serve({ routes: { /health: () Response.json({ status: ok }), }, fetch() { return new Response(Hello from Bun on Vercel); }, });这样一个最小可部署的项目只需要四个文件package.json、bun.lock、server.ts和vercel.json。不需要api/目录也不需要任何路由配置。与本地运行相关的限制port和hostname只在本地运行时生效它们不配置线上端点routes中的 Unix sockets 和 HTML imports 在 Vercel 上不支持WebSocket 连接按 Vercel 自己的 WebSockets 文档中的 Bun 示例配置node:http和node:https的自动 source maps、字节码缓存、请求指标在 Bun 运行时上不受支持fetch的请求指标支持。可选分支把 Bun.serve() 挂在 /api 下如果项目已经有前端、只想给部分路径加一个 Bun 服务器可以创建api/server.ts并在模块加载时调用一次Bun.serve()Bun.serve({ fetch(request) { const url new URL(request.url); return Response.json({ message: Hello from Bun on Vercel, pathname: url.pathname, }); }, });Vercel 会把它部署成位于/api/server的单个 Function只有请求/api/server才会到达这个服务器区别于上面的 framework presetpreset 是全站请求都走这一个服务器。这种写法只依赖vercel.json里的bunVersion不使用 framework preset也不要求bun.lock。如果想让其他路径也进入这个服务器需要在vercel.json中追加路由重写route overrides每条重写必须写完整请求路径并包含/api/server前缀。部署把仓库连接到 Vercel或者直接用 Vercel CLI 部署。文档给出两种方式# 用 bunx 运行无需全局安装 bunx vercel login bunx vercel deploy或者全局安装 Vercel CLIbun i -g vercel vercel login vercel deploybun i -g vercel会把 Vercel CLI 安装到你的全局依赖中其余两条命令只是登录和执行部署副作用限于本地环境。验证运行时确实是 Bun部署完成后在服务器代码里打印process.versions.bunconsole.log(runtime, process.versions.bun);文档示例的输出是runtime 1.4.0上面的1.4.0是文档示例结果。实际输出取决于 Vercel 按bunVersion解析到的 patch 版本只要日志中出现你配置的那个 minor 系列如1.4.x的版本号就说明部署跑在 Bun 运行时上。限制与注意事项node:http、node:https的自动 source maps、字节码缓存和请求指标在 Vercel 的 Bun 运行时上不支持fetch的请求指标支持routes中不能使用 Unix sockets 和 HTML importsRouting Middleware 需要用 Node.js 运行时运行在 middleware 文件中导出export const config { runtime: nodejs };如果项目是 Next.js 等 Vercel 支持的框架而非裸Bun.serve()应用设置bunVersion后框架即可跑在 Bun 上Next.js 项目包括 ISR还需要把package.json的 scripts 改成用bun --bun调用 Next CLI{ scripts: { dev: bun --bun next dev, build: bun --bun next build } }--bun标志让 Next.js CLI 在 Bun 下运行打包Turbopack 或 Webpack本身不受影响。此分支与本文的Bun.serve()部署路径相互独立仅在框架项目参考时有用。完整流程参考 部署到 Vercel 的官方文档服务器配置细节见 Bun.serve() 文档与 路由文档。【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号