本文档提供了 Bun 仓库结构和架构的高层概述。Bun 是一个用于 JavaScript 和 TypeScript 应用程序的一体化工具包,它作为一个名为 bun 的单个可执行文件发布。有关各个子系统的具体实现细节,请参阅本 wiki 中相应的编号部分。
该仓库包含一个全面的 JavaScript 运行时,设计为 Node.js 的替代品,以及其他开发者工具,包括包管理器、打包器、测试运行器和转译器。所有核心组件均用 Zig 实现,并由 JavaScriptCore 引擎驱动。
Bun 仓库围绕几个主要子系统组织,这些子系统协同工作以提供完整的 JavaScript 开发工具包。
来源: README.md27-36 docs/nav.ts25-461
Bun的核心是其JavaScript运行时,围绕JavaScriptCore引擎构建,并带有自定义的Zig绑定和优化。
该运行时提供对 JavaScript、TypeScript 和 JSX 文件的直接执行,无需单独的编译步骤。有关详细的运行时行为,请参阅 核心 JavaScript 运行时。
来源: README.md29 docs/index.md1-4 docs/runtime/index.md1-2
Bun 的 CLI 通过单个 bun 可执行文件提供所有开发任务的统一界面。
CLI 系统负责命令解析、环境设置和分发到相应的子系统。有关详细的 CLI 文档,请参阅 命令行界面。
来源: README.md35-42 docs/nav.ts86-178 docs/cli/install.md1 docs/install/lockfile.md1 docs/runtime/bunfig.md201-449
Bun 包含一个与 Node.js 兼容的包管理器,专为速度和效率而设计。
包管理器支持 npm 注册表兼容性、git 依赖项以及工作区和自动安装等高级功能。有关完整的包管理详细信息,请参阅 包管理器。
来源: docs/cli/install.md1-2 docs/install/lockfile.md1 docs/runtime/bunfig.md201-449
Bun 通过 Bun.serve API 提供高性能的 HTTP 和 WebSocket 服务器功能。
网络系统建立在 Web 标准之上,同时提供 Bun 特有的优化和功能。有关网络详细信息,请参阅 HTTP 服务器和网络。
来源: docs/api/http.md9-54 README.md181-197 docs/runtime/bun-apis.md22-58
Bun 包含一个完整的 JavaScript/TypeScript 处理系统,用于转译和打包。
语言处理系统通过可配置的加载器和转换器处理 TypeScript、JSX 和各种文件格式。有关处理详细信息,请参阅 JavaScript 处理引擎。
来源: docs/runtime/loaders.md1-13 docs/runtime/index.md14-25 docs/bundler/index.md
Bun 通过多个 API 层公开功能,以实现不同的兼容性和用例。
API 表面提供了多层兼容性,同时保持了性能和现代标准合规性。有关 API 详细信息,请参阅 JavaScript API 表面。
来源: docs/runtime/bun-apis.md1-4 docs/runtime/web-apis.md1-3 docs/runtime/nodejs-apis.md
Bun 的构建系统协调了 Zig 源代码的编译以及外部依赖项的集成。
构建系统负责跨平台编译,并管理复杂的依赖关系以生成最终的 bun 可执行文件。有关构建系统详细信息,请参阅 构建系统和基础设施。
来源: docs/installation.md1 README.md44-69 docs/project/building-windows.md