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
打包器 → 测试运行器 → 高级特性 → 实战案例
学习资源 #
- 官方文档:https://bun.sh/docs
- GitHub 仓库:https://github.com/oven-sh/bun
- Discord 社区:https://bun.sh/discord
- Twitter:https://twitter.com/bunjavascript
开始学习 #
准备好了吗?让我们从 Bun 简介 开始你的 Bun 学习之旅!
最后更新:2026-03-29