🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx skills add https://skills.sh/affaan-m/everything-claude-code/bun-runtime
💡 提示:需要 Node.js 和 NPM
Bun 运行时
Bun 是一个快速的 All-in-One JavaScript 运行时和工具包:集运行时、包管理器、打包器和测试运行器于一体。
使用场景
- 推荐使用 Bun 的场景:新建 JS/TS 项目、对安装/运行速度有要求的脚本、使用 Bun 运行时的 Vercel 部署,以及希望使用单一工具链(运行 + 安装 + 测试 + 构建)时。
- 推荐使用 Node 的场景:最大化生态系统兼容性、依赖旧版工具且假设使用 Node,或某个依赖存在已知的 Bun 兼容性问题时。
适用场景:采用 Bun、从 Node 迁移、编写或调试 Bun 脚本/测试,或在 Vercel 或其他平台上配置 Bun。
工作原理
- 运行时:与 Node 兼容的可直接替换的运行时(基于 JavaScriptCore,用 Zig 实现)。
- 包管理器:
bun install的速度显著快于 npm/yarn。在当前版本的 Bun 中,默认锁文件为bun.lock(文本格式);旧版本使用bun.lockb(二进制格式)。 - 打包器:内置的打包器和转译器,用于应用程序和库的构建。
- 测试运行器:内置
bun test,提供类似 Jest 的 API。
从 Node 迁移:将 node script.js 替换为 bun run script.js 或 bun script.js。使用 bun install 代替 npm install;大多数包都能正常工作。对于 npm scripts 使用 bun run;对于 npx 风格的临时命令使用 bun x。Node 内置模块受支持;若存在 Bun API,优先使用它们以获得更好的性能。
Vercel:在项目设置中将运行时设置为 Bun。构建命令:bun run build 或 bun build ./src/index.ts --outdir=dist。安装命令:使用 bun install --frozen-lockfile 确保部署可重现。
示例
运行与安装
# 安装依赖(创建/更新 bun.lock 或 bun.lockb)
bun install
# 运行脚本或文件
bun run dev
bun run src/index.ts
bun src/index.ts
脚本和环境变量
bun run --env-file=.env dev
FOO=bar bun run script.ts
测试
bun test
bun test --watch
// test/example.test.ts
import { expect, test } from "bun:test";
test("add", () => {
expect(1 + 2).toBe(3);
});
运行时 API
const file = Bun.file("package.json");
const json = await file.json();
Bun.serve({
port: 3000,
fetch(req) {
return new Response("Hello");
},
});
最佳实践
- 提交锁文件(
bun.lock或bun.lockb)以确保安装的可重现性。 - 脚本优先使用
bun run。对于 TypeScript,Bun 原生支持运行.ts文件。 - 保持依赖项为最新;Bun 及其生态系统发展迅速。
📄 原始文档
完整文档(英文):
https://skills.sh/affaan-m/everything-claude-code/bun-runtime
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)