Node.js v22 正式发布

admin 轻心小站 关注 LV.19 运营
发表于站长交流版块 新鲜事

Node.js 22 现已正式发布,亮点包括 require () ing ES 模块、WebSocket 客户端、V8 JavaScript 引擎的更新等等。Node.js 22 将于 10 月份进

Node.js 22 现已正式发布,亮点包括 require () ing ES 模块、WebSocket 客户端、V8 JavaScript 引擎的更新等等。Node.js 22 将于 10 月份进入长期支持 (LTS),但在此之前,它将在接下来的六个月内作为 “Current” 版本。

Image

一些更新亮点包括:

V8 更新至 12.4

V8 版本 12.4 包括 WebAssembly Garbage Collection、Array.fromAsync、Set 方法和迭代器助手等新功能。#52465

Maglev

V8 的 Maglev 编译器现在在支持的架构上默认启用 (https://v8.dev/blog/maglev)。 Maglev 提高了短期 CLI 程序的性能。#51360

Support require()ing synchronous ESM graphs

此版本在 --experimental-require-module 标志下为同步 ESM 图添加了 require() 支持。此版本 require() 在 标记下添加了对同步 ESM 图的支持。

如果 --experimental-require-module 启用,并且被 require() 加载的 ECMAScript 模块满足以下要求:

  • 在最近的 package.json 或 .mjs 扩展名中使用 "type": "module" 字段显式标记为 ES 模块。

  • Fully synchronous(不包含 top-level await)。

require() 将会以 ES 模块的形式加载请求的模块,并返回模块名称空间对象。在这种情况下,它类似于动态 import(),但同步运行并直接返回名称空间对象。项目团队计划在将来默认情况下启用 require(esm),而不使用该标志。

#51977

运行 package.json 脚本

Node.js 22 包括一个新的实验性功能,用于使用 cli 标志 node --run <script-in-package-json> 从 package.json 中执行脚本。它还支持 node --run test,这会执行 package.json 脚本中的测试命令。它还支持在 package.json 脚本中执行测试命令的 node --run test。#52190

Stream default High Water Mark

将流的默认 High Water Mark 从 16KiB 增加到 64KiB。这提供了全面的性能提升,但代价​​是内存使用量稍高。鼓励在内存敏感环境中的用户显式设置 setDefaultHighWaterMark。#52037

Watch Mode (node --watch)

从这个版本开始,Watch Mode 被认为是稳定的。当处于 Watch Mode 时,监视文件中的更改会导致 Node.js 进程重新启动。#52074

WebSocket

WebSocket 的浏览器兼容实现(之前位于 flag--experimental-websocket 标志之后)将默认启用。这将为 Node.js 提供无需外部依赖的 WebSocket 客户端。#51594

glob 和 globSync

此版本为 node:fs 模块添加了用于模式匹配的 glob 和 globSync 函数。开发人员现在可以利用这些函数,根据指定的模式匹配文件路径。#51912

提高 AbortSignal creation 的性能

此版本提高了创建 AbortSignal 实例的效率,从而显着提高了 fetch 和测试运行程序的性能。#52505


值得注意的是,Node.js 18 将于 2025 年 4 月终止生命周期,因此官方建议用户开始计划升级到 Node.js 20 (LTS) 或 Node.js 22(即将成为 LTS)。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: Node.js v22 正式发布

粉丝

0

关注

0

收藏

0

已有0次打赏