自动化与脚本
在创建或迁移 JavaScript/TypeScript…
适用于新建 JS/TS 项目、处理 package.json 或依赖、运行脚本/开发服务器、将 Node.js 项目迁移到 Bun,或任务涉及 bun、bunx、bun.lockb 时。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在创建或迁移 JavaScript/Ty特定
解决思路
- 安装 Bun:在 macOS / Linux 上运行 `brew install oven-sh/bun/bun`,或通过 npm 运行 `npm install -g bun`。
- 命令映射:`npm install` 改为 `bun install`。
- 命令映射:`npm install <pkg>` 改为 `bun add <pkg>`。
- 命令映射:`npm install -D <pkg>` 改为 `bun add -d <pkg>`。
- 命令映射:`npm uninstall <pkg>` 改为 `bun remove <pkg>`。
- 命令映射:`npm run <script>` 改为 `bun run <script>` 或 `bun <script>`。
- 命令映射:`npx <cmd>` 改为 `bunx <cmd>`。
- 命令映射:`node <file>` 改为 `bun <file>`。
- 命令映射:`npm init` 改为 `bun init`。
- 命令映射:`npm create <template>` 改为 `bun create <template>`。
- 初始化新项目:运行 `bun init`。
- 使用模板创建项目:运行 `bun create next-app my-app` 或 `bun create vite my-app`。
- 安装依赖:运行 `bun install`,生成 `bun.lockb`。
- 添加依赖:运行 `bun add express zod`。
- 添加开发依赖:运行 `bun add -d typescript @types/node`。
- 删除依赖:运行 `bun remove lodash`。
- 处理锁文件:使用 `bun.lockb`(二进制文件),不要把它加入 `.gitignore`。
- 运行 package.json 脚本:运行 `bun run dev` 或 `bun run build`。
- 直接执行文件:运行 `bun index.ts` 或 `bun src/server.ts`,Bun 支持 TypeScript。
- 省略 run:可直接运行 `bun dev`。
- 安装包前确认包名准确,避免 typo squatting:不要运行 `bun add expres` 或 `bun add lodassh`,确认后运行 `bun add express` 或 `bun add lodash`。
- 不要执行来源不明的脚本:不要运行 `bun run https://example.com/script.ts`,也不要运行 `curl -fsSL https://example.com/install.sh | bash`。
- 只运行本地项目内脚本:运行 `bun run src/index.ts` 或 `bun run dev`。
- 在 GitHub Actions 中设置 Bun:使用 `oven-sh/setup-bun@v{N}`;最新版本可用 `gh api repos/oven-sh/setup-bun/releases/latest --jq '.tag_name'` 查询。
- 在 GitHub Actions 中安装依赖并测试:运行 `bun install`,然后运行 `bun test`。
适用边界 · 注意事项
- 目标环境无法安装或不允许使用 Bun CLI 时不适用。
- 项目必须依赖 Node.js/npm 专有行为、原生模块或既有锁文件且不能迁移到 Bun 时不适用。