SuperAPI AI 工具集

bun-runtime

测试与质量

查看项目

更新于 10-15 21:08

技能介绍

用途:Bun 是一个多合一的 JavaScript 工具链,同时充当运行时、包管理器、打包器和测试运行器,适合新 JS/TS 项目、对安装与运行速度敏感的脚本、使用 Bun 运行时的 Vercel 部署,以及希望用单一工具链完成运行、安装、测试和构建的场景。若需要最大生态兼容性、依赖假定 Node 的旧工具,或某依赖已知与 Bun 不兼容,则更适合继续用 Node。

主要能力:运行时为兼容 Node 的直接替换方案,基于 JavaScriptCore、用 Zig 实现;包管理器 bun install 明显快于 npm/yarn,当前版本默认锁文件为文本格式 bun.lock,旧版本为二进制 bun.lockb;内置打包器与转译器;内置 bun test,提供类似 Jest 的 API。

使用方式:安装依赖用 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,测试文件通过 import { expect, test } from "bun:test" 引入;运行时 API 包括 Bun.file("package.json").json() 以及 Bun.serve({ port: 3000, fetch(req) { return new Response("Hello"); } })。

从 Node 迁移:把 node script.js 换成 bun run script.js 或 bun script.js;用 bun install 替代 npm install;用 bun run 执行 npm 脚本,用 bun x 做 npx 式的一次性运行;支持 Node 内置模块,但推荐在存在对应能力时改用 Bun API 以获得更好性能。

Vercel:在项目设置中把运行时设为 Bun;构建可用 bun run build 或 bun build ./src/index.ts --outdir=dist;安装用 bun install --frozen-lockfile 以保证可复现部署。

最佳实践与限制:提交锁文件以保证安装可复现;脚本优先使用 bun run;TypeScript 文件可被原生运行;保持依赖更新,因为 Bun 与生态演进较快。资料未提供其他平台的具体集成方式、性能基准数据或版本支持范围,相关事实暂未提供。