作者:@Jarred Sumner
原文:https://bun.sh/blog/bun-v1.1.30
背景
Bun v1.1.30 是 Bun 项目的一个重大更新,由 Jarred Sumner 于 2024 年 10 月 8 日发布。此次更新修复了 57 个 bug,解决了 150 个用户反馈的问题,并引入了多项新功能和性能改进。
要点
Bun v1.1.30 的主要亮点包括:
CSS 解析与打包:引入了基于 Zig 的 CSS 解析器和打包器,显著提升了 CSS 处理的性能。
bun publish:作为 npm publish 的直接替代品,支持从 Bun 发布 npm 包。
字节码编译:通过字节码编译,启动时间提升了 2 倍。
Node.js 兼容性改进:大幅提升了 crypto.privateEncrypt 和 crypto.publicDecrypt 的性能,以及其他多项 Node.js 兼容性改进。
分析
CSS 解析与打包
Bun 的 CSS 解析器和打包器基于 Zig 语言重写,与 Bun 的 JavaScript 和 TypeScript 解析器、打包器和运行时垂直集成。这不仅提高了 CSS 处理的性能,还允许在 JavaScript 和 TypeScript 中直接导入 CSS 文件,简化了前端开发的流程。
bun publish
这一功能使得开发者可以直接使用 Bun 发布 npm 包,支持读取 .npmrc 文件进行认证,处理 OTP / 两因素认证,以及处理 package.json 中的各种字段。
字节码编译
通过将 JavaScript 和 TypeScript 编译为字节码,Bun 显著提升了应用的启动时间。虽然字节码文件可能比源代码大 8 倍,但启动速度的提升显著。
Node.js 兼容性改进
Bun 在 Node.js 兼容性方面进行了多项改进,特别是在 crypto 模块的性能上,通过使用 BoringSSL 实现了 30 倍的性能提升。此外,Bun 还修复了多个与 Node.js 相关的 bug,提升了整体兼容性。
影响
Bun v1.1.30 的发布对前端开发和 Node.js 生态系统产生了积极影响:
提升开发效率:通过集成 CSS 解析和打包功能,Bun 简化了前端开发的流程,减少了开发者的负担。
增强 Node.js 兼容性:Bun 的改进使得更多的 Node.js 应用和库可以在 Bun 上无缝运行,扩大了 Bun 的应用范围。
性能优化:字节码编译和 crypto 模块的性能提升显著改善了应用的启动时间和运行效率,特别是在大型应用中。
结论
Bun v1.1.30 的发布标志着 Bun 在性能、功能和兼容性方面的显著进步。随着越来越多的开发者采用 Bun,其在 JavaScript 生态系统中的地位将进一步巩固。未来,Bun 可能会继续在性能优化和生态系统集成方面发力,成为前端和 Node.js 开发的重要工具。
AI 阅:了解技术资讯的一种方式。