网站首页 > 博客文章 正文
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 贡献指南和行为准则鼓励贡献和反馈。
猜你喜欢
- 2024-09-17 京东到家Loki日志系统实践(京东到家早起打卡入口)
- 2024-09-17 从 Element UI 源码的构建流程来看前端 UI 库设计
- 2024-09-17 跨页面通信的各种姿势(页面和跨页)
- 2024-09-17 第一届技术博文征文活动开启(庞博文图片)
- 2024-09-17 七天速记前端八股文(重点)(前端八股文文档)
- 2024-09-17 基于Swoole的高性能系统监控及Nginx负载均衡的实现
- 2024-09-17 Nodejs异步Generator函数和Websockets
- 2024-09-17 我用这11招,让接口性能提升了100倍
- 2024-09-17 超实用!程序员必备工具软件清单,来自腾讯工程师们的分享
- 2024-09-17 让程序员头疼的微服务下数据聚合join(二)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)