作者 | Agazi Mekonnen
译者 | 明知山
策划 | 丁晓昀
Node.js 团队最近 发布了 Node.js 21。这个版本引入了一些变化,包括更新 V8 JavaScript 引擎、稳定的 fetch 和 WebStreams 模块、一个用于改变模块默认设置的实验性标志、内置的 WebSocket 客户端以及测试运行器的增强。值得注意的是,作为一个奇数版本,Node.js 21 将不会有 LTS(长期支持)。
fetch 和 WebStreams 模块已经在 Node.js 21 中 升级为稳定版本。这一升级影响的模块包括 WebStreams、FormData、Headers、Request、Response 和 fetch。
此外,这个版本包含了一个实验性的 WebSocket 客户端,可以通过 --experimental-websocket 标志来启用,与浏览器兼容的标准一致,简化了同时在前端和后端运行的应用程序的 JavaScript 开发工作。
Node.js 21 包含了 V8 引擎的更新,版本为 11.8,带来了更好的性能和新的语言特性。值得注意的特性包括数组分组、ArrayBuffer.prototype.transfer 和 WebAssembly 扩展常量表达式。这一升级有助于减少对外部库的依赖。
Node.js 的测试运行器得到了增强,支持使用 --test 参数指定 glob 表达式,可以进行更高效和灵活的测试,更容易使用强大的 glob 模式在多个目录中运行测试。
新版本引入了一个新的标志,--experimental-default-type。这个标志允许开发者自定义默认的模块系统,可以指定输入文件应该解释为 ES 模块还是 CommonJS。
Node.js 21 包含了许多性能优化和增强,包括 URL、fetch、streams、node:fs 和 HTTP。这些改进旨在提高整体运行时性能。
在 Node.js 21 中集成的全局 navigator 对象增强了 Web 互操作性,开发者可以通过 navigator.hardwareConcurrency 来访问硬件并发信息。
Node.js 技术指导委员会(TSC)成员 Rafael Gonzaga 鼓励用户对 Node.js 21 进行探索,他说:
"如果你有兴趣探索有趣的新功能,那么 Node.js 21 是测试和了解即将到来的功能的绝佳方式。我们的发布计划特别涵盖了这一点。如果你已经在积极部署或者有这方面的计划,那么 Node.js 20 和 18 LTS 就很适合你。" Node.js 21 作为当前版本,这一状态将持续六个月,直到 2024 年 4 月。Node.js 16(LTS)已经进入寿命终结(EOL),开发者需要升级到 Node.js 18(LTS)或 Node.js 20(LTS),以获得持续支持和最新功能。
完整的变更列表可以在 GitHub 的 Node.js 21 拉取请求中找到。
原文链接:
https://www.infoq.com/news/2023/10/node-js-21-release-updates/
声明:本文为 InfoQ 翻译,未经许可禁止转载。