用途:Bun 是一个用 Zig 编写的全能 JavaScript 工具链,集运行时、打包器、包管理器与测试运行器于一体,原生支持 TypeScript,适合快速运行脚本、管理依赖、构建产物与编写测试。
主要能力:运行时可直接执行 .ts/.js/.jsx/.tsx 文件及 package.json 脚本,支持 --watch 自动重启与 --hot 热重载,并自动加载 .env。包管理器提供 bun install、bun add、bun remove、bun update,生成 bun.lockb,CI 可用 --frozen-lockfile。打包器支持 bun build 命令行与 Bun.build API,可设置 target、format、minify、sourcemap、splitting、naming、external、define、loader、publicPath 与插件。测试运行器提供 bun test,支持 describe/test/expect、mock、spyOn、--watch 与 --coverage,可通过 bunfig.toml 配置。此外提供 Bun.serve HTTP 与 WebSocket 服务、Bun.file 文件读写、$ 执行 shell 命令,以及 --compile 生成独立可执行文件并支持交叉编译。
使用方式:安装可用 curl -fsSL https://bun.sh/install | bash 或 npm install -g bun。运行文件用 bun run src/index.ts,安装依赖用 bun install,打包用 bun build src/index.ts --outdir=dist,测试用 bun test。配置集中在 bunfig.toml。
适用场景:需要统一工具链、减少配置的 JavaScript/TypeScript 项目,包括脚本执行、依赖管理、前端或服务端打包、单元测试与轻量 HTTP 服务。
限制:资料未提供性能基准、平台兼容性细节、收费与价格信息,也未说明与 Node.js 的完整兼容范围;迁移 Node.js 项目可参考资料提到的 references/migration.md,但具体内容暂未提供。