🥟
Bun · All-in-one JavaScript Runtime

Bun 全能 JavaScript 运行时完全指南

Jarred Sumner 用 Zig 打造的下一代 JavaScript 运行时——集运行时、包管理、打包、测试于一体,比 Node.js 快 3-5 倍

JSCore 引擎
25× npm install
原生 TS/JSX
Node 兼容
内置测试
Node 吞吐
25× npm install
Zig 原生实现

Bun 想把 JavaScript 工具链一次性统一

Node.js 诞生 15 年来,JavaScript 生态的工具链像打补丁一样层层堆叠——node 跑脚本、npm/yarn/pnpm 装包、ts-node/tsx 跑 TS、webpack/Vite 打包、jest/vitest 跑测试、nodemon 看文件变化……每个工具都要单独装、单独配、单独升级。

Bun 的野心是用一个 Zig 写的二进制一次性替代这一切:运行时用 Safari 的 JavaScriptCore(比 V8 冷启动更快),自带的 bun install 比 npm 快 25 倍,bun test 是 Jest API 兼容的测试跑者,bun build 是内置打包器,甚至 bun 自己就能直接跑 .ts/.tsx/.jsx 文件——不用 ts-node。

2024 年 Bun 1.0 发布,2025 年 Bun 2.0 加入 Node.js API 几乎完整兼容;2026 年越来越多生产环境开始用它替代 Node(Discord、ByteDance 已大规模采用)。

本教程 10 章:什么是 Bun、安装与第一次运行、包管理 bun install、跑脚本 bun run、HTTP 服务器 Bun.serve、内置文件/数据库 API、测试 bun test、打包 bun build、FFI 与原生插件、从 Node 迁移到 Bun。

核心能力

六大特性让 Bun 不只是"更快的 Node"

极速启动

JSCore + Zig 的组合,冷启动 <10ms,脚本执行、HTTP 吞吐全面超越 Node。

📦

飞快的包管理

bun install 比 npm 快 25 倍,基于 binlink + 全局缓存,生成 bun.lock(或 bun.lockb 二进制)。

🧪

内置测试

bun test 兼容 Jest API,毫秒启动、自带 mock/snapshot/coverage。

🔨

打包器一体

bun build 是内置 bundler,支持 ESM/CJS、sourcemap、minify、tree-shake。

🧬

Node 兼容

实现 Node.js API 的绝大部分(fs/net/http/stream...)+ npm 生态全兼容。

🔌

TS / JSX 原生

直接 bun run foo.ts / foo.tsx,无需 ts-node/tsx;SQLite/FFI 内置。

课程目录

10 章从 hello world 跑起,到生产部署与 FFI 调 C 库全线覆盖

Chapter 01

认识 Bun 与安装

Bun 是什么、与 Node/Deno 的区别、JSCore vs V8、安装(curl/brew/npm)、第一次 hello world。

入门 安装
Chapter 02

bun install:包管理

bun install/add/remove、bun.lock(JSON 文本锁)、workspace、--frozen-lockfile、trustedDependencies。

install workspace
Chapter 03

bun run:脚本执行

bun run vs bun、直接跑 .ts/.tsx、package.json scripts、--hot 热重载、--watch、环境变量。

bun run hot reload
Chapter 04

HTTP 服务器 Bun.serve

Bun.serve API、WebSocket、路由、Request/Response 标准、TLS、静态路由、性能对标 fastify。

Bun.serve WebSocket
Chapter 05

内置 API:文件、SQLite、Redis

Bun.file、Bun.write、bun:sqlite、bun:redis、Bun.password、Bun.spawn,零依赖开发常见业务。

bun:sqlite Bun.file
Chapter 06

bun test:测试框架

describe/it/expect、mock/spy、snapshot、coverage、并行执行、和 Jest/Vitest 对照。

test mock
Chapter 07

bun build:打包器

bun build 命令 & JS API、targets(browser/bun/node)、code splitting、plugins、outputs。

bundler target
Chapter 08

Node 兼容与迁移

兼容情况、process/fs/net/http/stream、CommonJS 支持、native 模块、常见坑与调试。

Node 兼容 CJS
Chapter 09

FFI 与单文件可执行

bun:ffi 调 C 库、dlopen、bun build --compile 单文件可执行二进制、跨平台交叉编译。

FFI --compile
Chapter 10

生产部署与生态

Docker 官方镜像、--smol 内存模式、hot/cluster 部署、ElysiaJS/Hono 框架、监控与 profiling。

Docker 部署 Elysia