SuperAPI AI 工具集

bun

编程与开发

查看项目

更新于 10-15 22:38

技能介绍

用途:Bun 是 JavaScript/TypeScript 的一体化工具包,涵盖运行时、包管理器、打包器与测试运行器,适合直接运行 TypeScript/JSX、构建快速 HTTP 服务、无头浏览器自动化、嵌入式 SQLite、WebSocket 服务、S3 兼容存储、Redis 缓存与跨平台 Shell 脚本等场景。

主要能力:原生支持 TypeScript/JSX,无需 tsconfig;同时兼容 ESM 与 CommonJS;内置 fetch、WebSocket 等 Web API;提供 Bun.serve()、Bun.file()、bun:sqlite、Bun.$、Bun.spawn()、Bun.cron()、Bun.WebView、Bun.Image、Bun.Archive 等 API;内置 .env 支持。官方称启动速度约为 Node.js 的 4 倍,安装速度约为 npm 的 30 倍。1.4.x 引入 Rust 重写,降低峰值内存、提升启动速度并降低空闲 CPU;支持 HTTP/2 与实验性 HTTP/3、静态目录服务、bun audit fix、bun dedupe、bun prune 等包维护命令,以及 bun test 的 --parallel、--isolate、--shard、--retry 等选项。

使用方式:常用命令包括 bun run index.ts、bun install、bun run dev、bunx cowsay "Hello"、bun test、bun build ./index.ts --outdir ./dist。配置可写入 bunfig.toml,环境变量通过 .env 自动加载,可用 Bun.env、process.env 或 import.meta.env 访问。

适用场景与限制:适合需要快速启动、内置数据库与网络能力的 JS/TS 项目。官方建议用 Bun.serve() 替代 http.createServer()、Bun.file() 替代 fs.readFileSync()、bun:sqlite 替代 better-sqlite3、Bun.$ 或 Bun.spawn() 替代 child_process.exec()。HTTP/3 为实验性,需通过 http3: true 开启;部分 fetch 的 HTTP/2/3 客户端能力位于特性开关之后。具体平台支持、收费与价格信息暂未提供。