用途:Bun 是快速的 JavaScript/TypeScript 运行时,适合运行受益于快速启动与原生 TS 支持的应用、使用其内置打包器、测试运行器或包管理器,以及编写 HTTP 服务、脚本或 CLI 工具。资料明确不建议用于完全兼容 Node.js API、原生 C++ 插件或追求 LTS 稳定性的场景。
主要能力:内置 HTTP 服务(Bun.serve(),支持流式与 WebSocket,无需框架);原生文件 I/O(Bun.file()、Bun.write());Jest 兼容测试(bun:test,无需安装配置);包执行(bunx,如 bunx tsc --noEmit);npm 风格工作区(monorepo);原生子进程(Bun.spawn() 或 $ 模板字符串);打包器插件系统(BunPlugin,自定义加载器);生产打包(bun build --target=browser 或 --target=bun)。
使用方式:HTTP 服务用 Bun.serve();文件操作用 Bun.file()/Bun.write();测试用 bun:test 的 test、expect、describe、mock;执行包用 bunx;脚本用 bun run;环境变量用 Bun.env.VAR_NAME 或 process.env,并自动加载 .env。
限制与边界:部分 Node 内置 API(如 vm、worker_threads)支持不完整;C++ 原生模块可能无法加载,需用 bun:ffi 或 WASM;TS 转译不进行类型检查,CI 中建议 bunx tsc --noEmit;端口被占用时 Bun 会崩溃,需 try/catch;测试默认同进程,可用 --preload 或 --bail;--watch 重启进程,--hot 为实验性 HMR。管理命令与代码以资料原文为准,未提供的内容暂未提供。