Node.js 22 发布,增加了对 ESM 模块和 Web API 的支持.

Node.js 团队最近发布了 Node.js 22。主要功能包括提高与 JavaScript 本机模块和 Web API 的兼容性以及性能改进。

Node.js 21 以及支持关键的 JavaScript 模块 API,其中import.metaobject . 具体来说,Node.js 21 支持import.meta.dirname和import.meta.filename。requireNode.js 22 添加了对JavaScript 模块 (ESM) 图形同步的支持。发行说明详细信息:

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

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

完全同步(不包含顶级等待)。

require()将加载请求的模块作为 ES 模块,并返回模块名称空间对象。在这种情况下,它与dynamic类似,import()但同步运行并直接返回名称空间对象。我们打算require(esm)在未来最终默认启用,而不使用该标志。

技术博主CoderOasis 提供了一个简单的代码示例来说明该功能:

// ES module: math.js

export function add(a, b) {

return a + b;

}

// CommonJS module: app.js

const { add } = require('./math.js');

console.log(add(2, 3)); // Output: 5

Node.js 21 已经提供了对Navigator API 的部分支持以及对浏览器兼容的Websocket客户端的实验性支持。在 Node.js 22 中,Websocket 支持仍处于实验阶段,但现在已成为默认设置:开发人员不再需要使用标志来激活它。

Node.js 22 显示了性能方面的持续进步。

Node.js 22 将 V8 JavaScript 引擎更新到 12.4,它利用了名为Maglev的优化 JIT 编译器(在现有Sparkplug和Turbofan编译器之间发布)。12.4 更新包括 WebAssembly Garbage Collection 和Iterator Helpers等功能。通过江流的高水位线从 16KiB 增加到 64KiB,Node.js 流的性能也得到了提高。由于这会稍微增加内存使用量,因此对于内存敏感的环境,可以通过setDefaultHighWaterMark()调整默认值。通过提高实例创建的效率,API 和测试运行器的性能fetch()得到了提升。

Node.js 是根据Open JS Foundation的 MIT 许可证提供的开源软件。通过Node.js 贡献指南和行为准则鼓励贡献和反馈。ation的 MIT 许可证提供的开源软件。通过Node.js 贡献指南和行为准则鼓励贡献和反馈。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值