Skip to main content

bun-runtime

Bun 作为运行时、包管理器、打包器和测试运行器。何时选择 Bun 与 Node、迁移说明以及 Vercel 支持。

Quellinformationen

Repository
aaione/everything-claude-code-zh
Letzte Quellaktivität
31. Mai 2026 um 16:26
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
29
Forks
14

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
bun-runtime
description
Bun 作为运行时、包管理器、打包器和测试运行器。何时选择 Bun 与 Node、迁移说明以及 Vercel 支持。
# Bun 运行时 Bun 是一个快速的全方位 JavaScript 运行时和工具包:运行时、包管理器、打包器和测试运行器。 ## 何时使用 - **优先使用 Bun**:新的 JS/TS 项目、安装/运行速度很重要的脚本、使用 Bun 运行时的 Vercel 部署,以及当您想要单一工具链(运行 + 安装 + 测试 + 构建)时。 - **优先使用 Node**:最大的生态系统兼容性、假设 Node 的遗留工具,或当依赖项有已知的 Bun 问题时。 在以下情况下使用:采用 Bun、从 Node 迁移、编写或调试 Bun 脚本/测试,或在 Vercel 或其他平台上配置 Bun。 ## 工作原理 - **运行时**:即插即用的 Node 兼容运行时(构建于 JavaScriptCore,用 Zig 实现)。 - **包管理器**:`bun install` 明显快于 npm/yarn。锁定文件默认为 `bun.lock`(文本)在当前 Bun 中;旧版本使用 `bun.lockb`(二进制)。 - **打包器**:用于应用程序和库的内置打包器和转译器。 - **测试运行器**:内置 `bun test`,具有类似 Jest 的 API。 **从 Node 迁移**:将 `node script.js` 替换为 `bun run script.js` 或 `bun script.js`。在 `npm install` 的位置运行 `bun install`;大多数包都可以工作。对 npm 脚本使用 `bun run`;对 npx 风格的一次性运行使用 `bun x`。支持 Node 内置;在存在 Bun API 的地方优先使用它们以获得更好的性能。 **Vercel**:在项目设置中将运行时设置为 Bun。构建:`bun run build` 或 `bun build ./src/index.ts --outdir=dist`。安装:`bun install --frozen-lockfile` 用于可重现部署。 ## 示例 ### 运行和安装 ```bash # 安装依赖(创建/更新 bun.lock 或 bun.lockb) bun install # 运行脚本或文件 bun run dev bun run src/index.ts bun src/index.ts ``` ### 脚本和环境 ```bash bun run --env-file=.env dev FOO=bar bun run script.ts ``` ### 测试 ```bash bun test bun test --watch ``` ```typescript // test/example.test.ts import { expect, test } from "bun:test"; test("add", () => { expect(1 + 2).toBe(3); }); ``` ### 运行时 API ```typescript 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 和生态系统发展很快。
Auf GitHub ansehen