2026/4/18 5:59:55
网站建设
项目流程
工商企业,seo的方法,智慧旅游平台建设方案,域名解析查询网https://github.com/oven-sh/bun https://bun.com /
Bun 是用于运行 JavaScript 和 TypeScript 应用程序的集成工具包。它以单一可执行文件的形式发布#xff0c;文件名为 bun 。 Anthropic 收购 Bun https://bun.sh/blog/bun-joins-anthropic#bun-joins-anthropic
2025 …https://github.com/oven-sh/bunhttps://bun.com /Bun 是用于运行 JavaScript 和 TypeScript 应用程序的集成工具包。它以单一可执行文件的形式发布文件名为 bun 。Anthropic 收购 Bunhttps://bun.sh/blog/bun-joins-anthropic#bun-joins-anthropic2025 年 12 月 2 日 Anthropic 宣布收购 Bun。这是Anthropic成立以来的首次公开收购也是Bun团队的一个重大转折点。强化 Claude Code 等核心产品的技术底座Claude Code 作为其年化营收超 10 亿美元的核心产品本身就是以 Bun 可执行文件形式交付收购能避免外部依赖风险保障该产品稳定运行。适配 AI 编程爆发式增长的基础设施需求Bun 的高性能、单文件可执行等特性契合 AI 编程自主编写、运行、修改代码的需求可作为 AI 编程的适配基础设施。吸纳优质技术团队与完善生态布局Bun 当前月下载量超 700 万GitHub 上有超 8.6 万星还被 Midjourney 等公司广泛应用拥有庞大的开发者用户基础。收购后不仅能将 Bun 团队纳入麾下增强自身技术实力还能借助 Bun 在 JS 生态中的影响力进一步扩大 Claude Code 在开发者群体中的渗透率完善自身 AI 编程生态。。双方发展理念契合且能实现共赢双方均以提升开发者效率为目标收购后 Bun 能获充足资源专注技术开发Anthropic 也能借其技术放大 AI 产品增长势能实现共赢。设计目标Bun 在设计之初就考虑到了当今的 JavaScript 生态系统。速度。Bun 进程的启动速度比 目前的 Node.js 快 4 倍支持 TypeScript 和 JSX。您可以直接运行 .jsx 、 .ts 和 .tsx 文件Bun 内置的转换器会在执行前将这些文件转换为普通 JavaScript 代码。与 ESM 和 CommonJS 兼容。全球都在向 ES 模块ESM靠拢但 npm 上仍有数百万软件包需要支持 CommonJS。Bun 推荐使用 ES 模块但也支持 CommonJS。Web 标准 API. Bun 实现了标准的 Web API例如 fetch 、 WebSocket 和 ReadableStream 。Bun 底层使用的是 JavaScriptCore 引擎该引擎由 Apple 为 Safari 开发因此某些 API例如 Headers 和 URL 直接使用了 Safari 的实现。兼容 Node.js。除了支持 Node 风格的模块解析外Bun 还致力于实现与 Node.js 内置的 globals ( process , Buffer ) 和模块 path 、 fs 、 http 等的完全兼容。 这一目标还未实现仍在努力中。Bun 不仅仅是一个运行时。Bun 的长期目标是成为使用 JavaScript/TypeScript 构建应用程序的一站式基础工具包包括软件包管理器、转换器、打包器、脚本运行器、测试运行器等。对比Node、Deno、Bun特性维度Node.jsDenoBunjs引擎V8V8JavaScriptCore编写语言C/CRustZig核心理念稳定与生态经过验证的行业标准安全与现代纠正Node设计安全优先性能与一体极致速度一体化工具链性能特点稳定成熟性能中等性能优秀启动较快启动与执行极快HTTP吞吐量常领先包管理与模块npm package.json 生态庞大原生ESM支持URL导入和npm包内置极速包管理器高度兼容npm内置工具链较少依赖第三方如Webpack, Jest较丰富测试、格式化等全面内置打包、测试等开箱即用安全性默认无限制依赖生态最佳实践默认安全沙箱需显式授权权限模型类似Node.jsTypeScript支持需额外配置ts-node等原生支持原生支持内部转换生产就绪度最高生态与社区极其成熟高适合对安全有要求的新项目高速成长兼容性好但更新快生产需评估学习成本低资料最多中需适应安全模型和新生态低对npm开发者友好命令集成all-in-oneRuntime 运行时性能与引擎Bun使用Apple Safari浏览器的JavaScriptCore (JSC) 引擎而非Node.js的V8。底层使用Zig语言编写能进行精细的低层次内存和并发控制。Bun是一个轻量级运行时具有更小的内存占用、更快的启动时间在 Linux 系统上启动速度比 Node.js快 4 倍。开箱即用的开发体验原生支持 .ts 、 .tsx 、 .jsx 文件无需额外配置编译器。现代且高效的API提供了更简洁、高性能的原生API例如创建HTTP服务器只需使用 Bun.serve() 性能优于原生Node.js http 模块。文件操作API Bun.file() 比Node.js的 fs 模块更友好。兼容性设计为Node.js的直接替代品实现了绝大多数Node.js API和npm模块允许许多现有项目直接使用 bun 命令替换 node 命令运行。Package Manager 包管理器bun install 速度极快旨在替代 npm 、 yarn 、 pnpm 。在任何 Node.js 项目中从切换 npm install 到 bun install 安装速度提升高达 25 倍。Test Runner 测试运行器Bun 内置了一个快速、兼容 Jest未完全实现 的测试运行器。测试在 Bun 运行时环境中执行并支持以下功能。TypeScript 和 JSX生命周期钩子快照测试UI 和 DOM 测试Watch模式 --watch脚本预加载 --preloadBundler 打包器Bun 是一款快速的原生打包工具支持 JavaScript、TypeScript、JSX 等为什么快引擎差异不同于 Node.js 和 DenoBun 并没有基于 V8 引擎而是使用了 JavaScriptCore 引擎JSC 启动速度更快内存占用更低。这为 Bun 的快速冷启动和高效运行奠定了基础。语言差异Bun.js 使用的是新兴的系统编程语言 ZIG 编写的主要通过手动内存管理对内存进行更细粒度的控制、无隐藏的控制流来提升程序的性能。从零开始在上两点的前提下 Bun.js 的大部分内容都是完全从零开始编写的包括 JSX/TypeScript 转译器、 npm 客户端、打包器、 SQLite 客户端、 HTTP 客户端、 WebSocket 客户端等等。兼容性https://bun.com/docs/runtime/nodejs-compat兼容的功能兼容绝大多数场景比如CommonJS和 ES模块系统 、核心模块fs, path, http等、npm生态系统中的大多数包、process全局对象、Buffer API、EventEmitter、大多数Node.js标准库API。不完全兼容的功能某些原生模块可能需要重新编译一些依赖Node.js内部API的库可能不工作某些流API的实现有差异某些特定于Node.js的功能如cluster模块可能有不同行为使用下载// macOS Linux curl -fsSL https://bun.com/install | bash // Windows powershell -c irm bun.sh/install.ps1|iex // Package Managers npm install -g bun // Docker docker pull oven/bun docker run --rm --init --ulimit memlock-1:-1 oven/bun 检查Bun版本bun --version # Output: 1.x.y # See the precise commit of oven-sh/bun that youre using bun --revision # Output: 1.x.yb7982ac13189升级bun upgrade # Upgrade to latest canary bun upgrade --canary # Switch back to stable bun upgrade --stable卸载// macOS Linux rm -rf ~/.bun // Windows powershell -c ~\.bun\uninstall.ps1 // Package Managers npm uninstall -g bun开发命令用途与示例关键说明官方文档bun init快速初始化新项目 bun init -y快速生成 package.json 、 tsconfig.json 等文件。https://bun.com/docs/runtime/templating/initbun create从模板创建项目 bun create react my-app模板可来自官方、GitHub或本地目录创建后通常会自动安装依赖。https://bun.com/docs/runtime/templating/createbun run1. 运行JS/TS文件 bun run index.ts 2. 运行 package.json 中的脚本 bun run dev运行时支持热重载使用 --hot 标志如 bun --hot index.ts 可在代码变更后自动重启。https://bun.com/docs/runtimebun test运行项目测试 bun test内置测试运行器兼容Jest语法启动速度极快。bun build打包项目代码 bun build ./src/index.ts --outdir ./dist --minify内置原生打包器支持tree shaking、压缩和多种输出目标。包管理命令用途与示例关键说明bun install安装所有依赖 bun install速度极快。常用标志 --production 仅生产依赖、 --frozen-lockfile 严格锁定版本。bun add添加依赖 bun add react 生产依赖 bun add -d types/node 开发依赖-d 或 --dev 标志表示开发依赖。bun remove移除依赖 bun remove lodash-bun update更新依赖 bun update可使用 --interactive 标志进行交互式更新。bun pm访问额外的包管理工具包含缓存管理、链接管理等子命令。bunx执行npm包二进制命令类似 npx bunx create-vitelatest无需全局安装工具避免污染环境。优势与潜在考量主要优势潜在考量 / 挑战1. 极致的开发速度安装、启动、构建、测试都快。1. 生态系统相对年轻社区规模和深度不如 Node.js一些 npm 包可能未完全适配。2. 一体化开发体验减少工具链配置的复杂性和依赖项。2. 兼容性风险并非 100% 兼容所有 Node.js API 和原生模块存在运行风险。3. 现代且简单开箱即用的 TS/JSX 支持提供简洁的 Web 服务器 API。3. 仍在快速迭代新版本可能引入不兼容的变更。