Skip to content

参考:Bun 命令、内置 API 与兼容矩阵

基于 Bun(JavaScriptCore + Zig)· 核于 2026-08

速查

  • 是什么:全能 JS/TS 运行时 + 工具链(运行/打包/测试/包管理四合一),JavaScriptCore + Zig 底层。
  • 性能:HTTP 约 4x Node,bun install 数倍到数十倍 npm,启动快、内存低。
  • Node 兼容:约 95%,支持 node:/npm 包/package.json/node_modules/Node-API。
  • 工具链:单一二进制 bun,零配置(TS/JSX/打包/测试内置)。
  • 锁文件:bun.lock(文本格式),替代 package-lock.json/yarn.lock。

一、Bun 关键版本特性

版本年份关键特性
0.x2022首次发布,JavaScriptCore + Zig,all-in-one 定位
1.02023首个稳定版,Node 兼容大幅提升,Windows 支持
1.12024Windows 稳定支持、Bun.serve 性能优化
1.22025bun.lock 文本格式、稳定性提升、Node-API 兼容扩展
1.32025性能优化、bundle 改进、更多 Node API 兼容

二、命令速查

命令作用Node 对应
bun run app.ts运行 JS/TSnode + ts-node
bun app.ts运行(run 可省略)node app.js
bun --hot app.ts热重载(保留部分状态)nodemon
bun build ./index.ts --outdir ./dist打包webpack/esbuild
bun test跑测试jest/vitest
bun test --coverage测试+覆盖率jest --coverage
bun install装全部依赖npm install
bun add pkg加依赖npm install pkg
bun add -d pkg加开发依赖npm install -D pkg
bun remove pkg删依赖npm uninstall pkg
bun update升级依赖npm update
bun run start跑 scriptsnpm run start
bunx pkg执行 bin(本地/远程)npx
bun init初始化项目npm init
bun create用模板创建create-react-app/vite create

三、Bun.* 核心 API 速查

API用途Node 对应
Bun.serveHTTP 服务(约 4x 性能)http.createServer
Bun.write写文件(高效)fs.writeFile
Bun.file文件引用(惰性)fs.readFileSync(返回 File 对象)
Bun.password.hash/verify密码哈希/验证bcrypt(第三方)
Bun.sqlSQL 查询(内置)pg/mysql2(第三方)
Bun.spawn起子进程child_process.spawn
Bun.dnsDNS 查询node:dns
Bun.gc触发 GC(手动)(无对应,V8 自动)
Bun.md5/sha哈希计算node:crypto
bun:test测试 API(import)jest(第三方)

四、Node 兼容矩阵

能力支持度说明
node: 内置模块约 98%fs/http/crypto/stream 等常用模块几乎全覆盖
npm 包约 95%绝大多数纯 JS/TS 包可用
package.jsondependencies/scripts/exports 识别
Node-API 原生插件✅(多数)兼容 N-API 的 .node 文件
process/Buffer 全局兼容模式可用
CJS require支持 CommonJS
ESM import支持 ES Modules
V8 内部 API 包JSC 无 V8 内部,这类包不兼容
老 NAN 插件早期 NAN(非 N-API)不兼容
幽灵依赖⚠️Bun 解析更严格,可能失败

五、易错点清单

  • "Bun 用 V8 引擎":错。Bun 用 JavaScriptCore(Apple/Safari),Node/Deno 才用 V8。
  • "Bun 用 Rust 写":错。Bun 用 Zig 写底层(Node 是 C++,Deno 是 Rust)。
  • "Bun 不兼容 Node":错(过时)。Bun 约 95% 兼容 Node,支持 node:/npm 包/package.json。
  • "Bun 的 TS 等于 Node 类型剥离":错。Bun 完整编译(支持 enum/decorator),Node 默认只剥离。
  • "bun.lockb 是二进制无法 review":部分对。早期是 .lockb 二进制,新版改为 bun.lock 文本格式(易读易合并)。
  • "Bun.serve 用 Node 的 http 模块":错。Bun.serve 基于 uSocket(C 库)+ Zig,独立实现,约 4x Node http。
  • "bun install 走 npm registry 协议":对(仍从 npm 等标准 registry 拉包,只是解析/下载更快)。
  • "--hot 是完整 HMR 保留所有状态":错。--hot 保留部分状态,复杂状态可能丢失,不是完整 HMR。
  • "Bun 完全取代 Node 生态":错。Bun 约 95% 兼容,5% 不兼容(V8 内部 API 包、老插件);且 Node 生态成熟度与平台覆盖仍领先。
  • "Bun 比 Node 慢":错。Bun 主打性能,HTTP 约 4x、install 数倍到数十倍、启动更快。

六、进阶方向(链接其他叶)

  • Node.js —— 生态最强 + 22.18+ 原生 TS 的参照系
  • Deno —— 默认安全 + JSR 的现代运行时

权威链接