用途:Bun 是集运行时、包管理器、打包器和测试运行器于一体的 JavaScript/TypeScript 工具,适合快速服务端脚本、TypeScript 优先项目、以更低启动开销替代 Node.js,以及需要内置 SQLite、密码哈希、文件 I/O、HTTP 服务、打包和测试而无需外部工具的场景。
主要能力:提供 Bun.serve() 构建基于路由的 HTTP 服务;Bun.file() 惰性读取文件,支持 .text()、.json()、.stream();Bun.write() 写入字符串、Blob、Response、BunFile;bun:sqlite 的 new Database(path) 支持同步查询、预编译语句和 WAL 模式;Bun.password.hash/verify 默认使用 Argon2id,可选 bcrypt,并按哈希格式自动识别算法;Bun.build() 支持 tree-shaking、代码分割、插件和多目标打包;bun:test 兼容 Jest,支持 mock、快照和 watch;bun install、bun add、bun run、bunx 用于依赖与脚本执行;另有内置 S3 客户端和 HTML 导入。
使用方式与注意:bun install --frozen-lockfile 用于 CI 可复现构建;Bun.write() 为异步需 await;Bun.file() 的读取方法返回 Promise;SQLite 并发读建议启用 db.exec("PRAGMA journal_mode = WAL");测试需从 bun:test 导入,而非 Jest 或 Vitest 全局;Bun.build() 失败通过 result.success 与 result.logs 判断,而非抛异常;部署到 Bun 时建议使用 --target bun。部分原生模块不完全兼容 Node.js 生态,生产环境的稳定性验证情况暂未提供。