做前端开发久了,你会对“等待”产生一种习得性无助。
等待 npm install 解析依赖树,等待 Webpack/Turbopack 的冷启动,等待 CI/CD 流水线上的 Environment Setup。我们习惯了趁着编译去倒杯咖啡,习惯了看着终端里的 Spinner 转圈发呆。
直到前几天,我为了修复博客的一个小样式问题,习惯性地敲下 npm run dev,然后盯着屏幕等了 3 秒钟。
3 秒钟,在 2026 年的今天,在 M4 芯片的加持下,这简直是一个世纪。
"为什么这一套简单的 React 博客系统,跑起来会这么重?"
我的目光转向了那个红得发紫的包子——Bun。
传说中,它比 Node.js 快 4 倍,它是 JavaScript 的瑞士军刀,它是对现有生态的一次降维打击。
"是时候了。"
我决定把这个刚刚重构完不久的博客,从 Node.js 的温室里连根拔起,移植到 Bun 的极速赛道上。
我原本以为这会是一场类似 "Hexo 转 Next.js" 的伤筋动骨的重构。我做好了面对各种 node-gyp 报错、CommonJS/ESM 兼容性地狱的准备。
然而,现实是——它简单得让我觉得有点亏。
首先,清理战场。杀掉所有 Node 遗留的产物。
rm -rf node_modules package-lock.json看着那几百兆的 node_modules 消失在虚空中,心里莫名一阵爽快。
安装 Bun(如果还没装的话):
curl -fsSL https://bun.sh/install | bash然后,在项目根目录下,敲下那个神奇的命令:
bun install我甚至还没来得及看清终端里的字符跳动,它就结束了。
280ms。
你没看错,毫秒。之前 npm install 需要 15-20 秒的过程,现在只需要眨一下眼。Bun 的包管理器使用了全局缓存链接(类似于 pnpm),加上它那用 Zig 语言手写的极致优化,下载速度简直快得不讲道理。
打开 package.json,我原本准备把所有的 next dev 改成 bun next dev,或者去折腾运行时的兼容配置。
但实际上,Next.js 对 Bun 的支持已经相当好了。我只需要在本地开发时:
bun run devNext.js 的开发服务器瞬间启动。虽然 Next.js 底层的一些编译逻辑还是依赖 Rust (SWC/Turbopack) 或者 Node 兼容层,但 Bun 作为一个 Runtime,在文件系统读取、模块解析上的速度优势,让整个冷启动过程体感提升了至少 50%。
在这次迁移之后,我深入思考了一下。对于像 Google、Meta 这种有着巨型 Monorepo 和复杂构建流的大厂,迁移 Runtime 可能兹事体大。但对于我们这种个人博客、企业官网、SaaS 原型等中小型项目,Bun 简直就是上帝赐予的礼物。
在中小型项目中,我们最讨厌的是什么?是配置文件的堆砌。
以前在 Node 环境下,我要跑测试,得装 jest,还得配 ts-jest;我要读 .env,得装 dotenv;我要运行 TypeScript 脚本,得装 ts-node 或 tsx。
现在呢?
bun test,兼容 Jest API,但快 100 倍。.env 读取,开箱即用。bun index.ts 直接跑 TypeScript,零配置。一个二进制文件,干了过去十几个包干的活。这对于维护者来说,心智负担的减轻是巨大的。
对于个人开发者,我们通常使用 Vercel 或 GitHub Actions 进行部署。
在 GitHub Actions 里,Node 环境的 Setup 通常需要几秒到十几秒,npm install 又要几十秒。而 Bun 的 Setup Action (oven-sh/setup-bun) 秒级完成,bun install 又是秒级完成。
这意味着什么?意味着你的 CI 流水线时间缩短了,不仅省了时间,如果你的 Actions 有额度限制,这还省了钱。
这一点最虚,但也最重要。
当你改了一行代码,保存,切换浏览器。如果这个过程超过 1 秒,你的思维就会不可避免地断开。你会想去刷一下 Twitter,或者回个消息。
Bun 带来的极致 I/O 性能,配合现代框架的热更新(HMR),让这个反馈闭环被压缩到了毫秒级。你几乎感觉不到“编译”这个过程的存在。这种即时反馈,是保持编程“心流”状态的关键。
当然,Bun 依然不是完美的。在某些极其冷门的 Node 原生 API 兼容上,它可能偶尔还会甚至抛个错(虽然我现在还没遇到)。
但对于我的博客,这个使用了 Next.js、React、Tailwind CSS 的标准 Web 项目来说,迁移到 Bun 是一次零成本、高回报的投资。
我们写代码,很多时候是为了解决问题。但偶尔,我们也需要这种纯粹的、由技术进步带来的多巴胺。
如果你也是独立开发者,如果你也受够了 node_modules 黑洞,不妨试试 Bun。
哪怕只是为了体验一次那个瞬间完成的 bun install,也值了。