Node.js 21 发布更新了 V8 引擎、WebStreams 模块和测试运行器

Node.js 21 发布总结

Node.js 团队近期发布了 Node.js 21,该版本引入了多项新特性和改进,但由于是奇数版本,不会获得长期支持(LTS)状态。

主要更新内容

  1. V8 引擎更新

    • V8 引擎升级至 11.8 版本,带来了性能提升和新的语言特性,如数组分组(Array grouping)、ArrayBuffer.prototype.transfer 和 WebAssembly 扩展常量表达式(extended-const expressions)。这些改进减少了对第三方库的依赖。
  2. fetch 和 WebStreams 模块稳定化

    • fetch 和 WebStreams 模块在 Node.js 21 中被提升为稳定模块。这一变化影响了 WebStreams、FormData、Headers、Request、Response 和 fetch 等模块。
  3. 实验性 WebSocket 客户端

    • 新增了内置的 WebSocket 客户端,可通过 --experimental-websocket 标志启用。该客户端与浏览器标准兼容,简化了前后端应用的 JavaScript 开发。
  4. 测试运行器改进

    • 测试运行器支持 --test 参数使用 glob 表达式,使得跨多个目录的测试执行更加高效和灵活。
  5. 实验性模块默认类型标志

    • 引入了 --experimental-default-type 标志,允许开发者自定义默认模块系统,指定输入文件应被解释为 ES 模块还是 CommonJS。
  6. 性能优化

    • Node.js 21 包含了对 URL、fetch、流、node:fs 和 HTTP 等模块的性能优化,旨在提升整体运行时性能。
  7. 全局 navigator 对象集成

    • 新增了全局 navigator 对象,增强了与 web 的互操作性。开发者可以通过 navigator.hardwareConcurrency 访问硬件并发信息。

其他重要信息

  • 发布周期

    • Node.js 21 作为当前版本,其状态将持续六个月,直到 2024 年 4 月。Node.js 16(LTS)已结束生命周期(EOL),开发者应计划升级到 Node.js 18(LTS)或 Node.js 20(LTS)以获得持续支持。
  • 开发者建议

    • Node.js 技术指导委员会成员 Rafael Gonzaga 鼓励用户尝试 Node.js 21,认为这是一个探索新特性的好机会。但对于已部署或计划部署的项目,建议使用 Node.js 20 或 18(LTS)版本。
  • 完整更新列表

    • 详细的更新内容可在 Node.js 21 的 GitHub 项目中查看。

总结

Node.js 21 带来了多项新特性和改进,特别是在性能、模块稳定性和测试工具方面。然而,由于它不是 LTS 版本,建议生产环境用户继续使用 Node.js 18 或 20 版本。

阅读 31
0 条评论