SuperAPI AI 工具集

bun-best-practices

通用与其它

查看项目

更新于 10-16 08:05

技能介绍

用途:帮助团队判断何时采用 Bun,并给出包管理器与运行时两种角色的使用模式与反模式。

主要能力:Bun 作为包管理器可替代 pnpm/npm/yarn,命令包括 bun install、bun add <pkg>、bun remove <pkg>、bun --filter <workspace>;锁文件为二进制 bun.lock,工作区在根 package.json 的 workspaces 字段定义,无需 pnpm-workspace.yaml。Bun 作为运行时替代 Node.js,可 bun run script.ts 直接执行 TypeScript、bun test 内置测试、bun build 打包,并提供原生 SQLite、文件 I/O、HTTP 服务器优化。

适用场景:CLI 工具、边缘函数、内部开发工具、全新项目、脚本自动化、依赖树简单的项目。建议继续用 pnpm 的场景:Expo/EAS 构建、Vercel serverless、复杂原生模块依赖、团队不熟悉 Bun、需要最高稳定性的生产应用、大量使用 Node.js API 的项目。可采用混合模式:对外生产应用用 pnpm,内部工具与脚本用 Bun。

限制与注意:TypeScript 仅转译不做完整类型检查,需用 tsc --noEmit;部分 Node.js API 缺失或行为不同;迁移前应针对自身工作流做基准测试(如 time pnpm install 与 time bun install 对比)。反模式包括假设完全兼容 Node.js、混用锁文件、CI 未同步迁移、忽略平台支持。资料未提供具体收费、价格与更多平台支持细节。