Bun #

什么是 Bun? #

Bun 是一个现代化的高性能 JavaScript 和 TypeScript 运行时,由 Jarred Sumner 于 2021 年创建。Bun 使用 Zig 语言编写,基于 JavaScriptCore 引擎,旨在成为 Node.js 的更快替代品。Bun 不仅仅是一个运行时,它还集成了打包器、测试运行器和包管理器,提供了一体化的开发体验。

Bun 的优势 #

优势 说明
极致性能 启动速度比 Node.js 快 4 倍,测试运行快 5 倍
TypeScript 原生支持 开箱即用的 TypeScript/JSX 支持,无需配置
一体化工具链 运行时 + 打包器 + 测试运行器 + 包管理器
Node.js 兼容 大多数 Node.js 应用可以直接运行
Web 标准 API 内置 fetch、WebSocket、FormData 等 Web API
原生 SQLite 内置高性能 SQLite 数据库支持
热重载 开发模式自动热重载

文档结构 #

本指南按以下结构组织,适合初学者按顺序学习:

1. 基础入门 #

主题 描述 文档链接
Bun 简介 Bun 的发展历史、特点、与其他运行时对比 intro.md
安装与配置 各平台安装、环境配置、版本管理 installation.md
第一个程序 Hello World、运行脚本 hello-world.md
CLI 命令详解 bun 命令详解、常用选项 cli.md

2. 核心功能 #

主题 描述 文档链接
运行时特性 运行时 API、全局对象 runtime.md
模块系统 ES 模块、CommonJS、导入解析 modules.md
TypeScript 支持 TypeScript 配置、类型检查 typescript.md
JSX 支持 JSX 转换、React 集成 jsx.md

3. 内置 API #

主题 描述 文档链接
HTTP 服务 Bun.serve 创建 HTTP 服务器 http.md
文件操作 文件读写、Blob、文件系统 fs.md
SQLite 数据库 内置 SQLite 操作 sqlite.md
网络请求 fetch API、WebSocket network.md
进程与子进程 进程管理、Shell 命令 process.md

4. 包管理器 #

主题 描述 文档链接
包管理基础 安装、卸载、更新依赖 basics.md
工作区管理 Monorepo 支持 workspaces.md
锁文件与安全 bun.lockb、安全审计 security.md
脚本运行 bun run、生命周期脚本 scripts.md

5. 打包器 #

主题 描述 文档链接
打包基础 基本打包配置 bundling.md
入口与输出 多入口、输出格式 output.md
代码分割 Splitting、懒加载 splitting.md
插件系统 自定义插件开发 plugins.md

6. 测试运行器 #

主题 描述 文档链接
测试基础 编写和运行测试 basics.md
断言与匹配 expect 断言库 assertions.md
Mock 与 Spy 模拟函数和模块 mocks.md
快照测试 快照测试功能 snapshots.md

7. 高级特性 #

主题 描述 文档链接
热重载 开发模式热重载 hot-reload.md
环境变量 .env 文件、环境配置 env.md
Worker 线程 多线程编程 workers.md
FFI 接口 调用原生库 ffi.md
性能优化 性能调优技巧 performance.md

8. 实战案例 #

主题 描述 文档链接
Web API 服务 构建 RESTful API rest-api.md
全栈应用 Bun + React 全栈开发 fullstack.md
CLI 工具开发 命令行工具开发 cli-tool.md
微服务架构 微服务开发实践 microservice.md

学习建议 #

初学者路线 #

text
Bun 简介 → 安装配置 → Hello World → CLI 命令

进阶路线 #

text
运行时特性 → 模块系统 → 内置 API → 包管理器

高级路线 #

text
打包器 → 测试运行器 → 高级特性 → 实战案例

学习资源 #

开始学习 #

准备好了吗?让我们从 Bun 简介 开始你的 Bun 学习之旅!

最后更新:2026-03-29