Bendi新闻
>
Node.js 22发布,增强了对ESM模块和Web API的支持

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

1月前

作者 | Bruno Couriol
译者 | 张卫滨
策划 | 丁晓昀  

Node.js 团队最近发布了 Node.js 22。核心特性包括增强与 JavaScript 原生模块和 Web API 的兼容性,以及性能方面的改进。

Node.js 21 已经支持关键的 JavaScript 模块 API,其中包括import.meta对象。具体来说,Node.js 21 支持import.meta.dirnameimport.meta.filename。Node.js 22 增加了对 JavaScript 模块(ESM)图同步require的支持。发布说明中提供了详细信息:

如果启用--experimental-require-modulerequire()加载的 ECMAScript 模块满足如下的需求:
  • 通过在闭包 package.json 或“.mjs”扩展文件中使用“type”: “module”字段明确标记为 ES 模块。

  • 完全同步(不包含顶层的 await)。

require()会以 ES 模块的形式加载所请求的模块,并返回模块命名空间对象。在这种情况下,它类似于动态的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 垃圾收集和 Iterator Helpers 等功能。通过将流的最高水位标志(High Water Mark)从 16KiB 提高到 64KiB,Node.js 流的性能也得到了改善。由于这略微增加了内存的使用量,对于内存敏感的环境,可通过 setDefaultHighWaterMark() 调整默认值。通过提高 AbortSignal 实例创建的效率,fetch() API 和测试执行器(runner)的性能得到了提升。

Node.js 是一款开源软件,在 Open JS 基金会) 的 MIT 许可证下可用。鼓励通过 Node.js 贡献指南 和行为准则提供贡献和反馈。

查看英文原文

Node.js 22 Released with Increased Support for ESM Modules and Web APIs (https://www.infoq.com/news/2024/05/node-22-released/)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

谷歌裁掉整个 Python 团队!PyTorch 创始人急得直骂人:“WTF!核心语言团队无可替换”

德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?

系统 bug 致百人入狱,砸了 2.8 亿元仍上云失败!二十年了,这家大企业被日本软件坑惨了

Rust 生态纯属炒作?3 年写了 10 万行代码的开发者吐槽:当初用 Rust 是被忽悠了

微信扫码关注该文公众号作者

来源:InfoQ

相关新闻

OpenAI将停止中国等不支持的国家和地区的API使用研究显示:年轻信徒对以色列和末世论的支持率下降豪赌!哈佛辍学华人竟然发布了只支持Transformer一种算法的AI芯片,一张顶20张H100 ,比GB200快Rust编写的Web开发框架——同时支持Node和PythonSpring Boot 3.2 和 Spring Framework 6.1添加对 Java 21、虚拟线程和 CRaC 的支持拔管后高流量鼻导管吸氧和持续正压通气对危重患儿脱离呼吸支持的影响:随机临床试验华为和苹果同一天发布新平板,还有一款支持触控笔的笔记本德州州长获14位州长对边境的支持美国就南中国海发生的事件对菲律宾表示支持重磅|创造历史!特朗普成历史首位被定罪美国前总统 !但选民对他的支持更疯狂了!捐款网站被挤爆学生运动蔓延到南加州,UCLA支持巴勒斯坦的抗议者设立了营地,USC取消主要毕业典礼!KSP2 致力于改善 Kotlin 元编程,并添加对 K2 Kotlin 编译器的支持四面楚歌!埃及公开宣布:支持南非在国际法院对以色列的诉讼外交部发言人:美方应停止散布中国政府支持对美“网络攻击”的虚假信息Tech Goes Home获得260,000 美元的资助,用于支持数字包容性编程和新社区奖学金大批人涌入,献花祝福!威廉和凯特最新发声!对网友支持非常感动新加坡门将火了,有中国球迷“打飞的”支持生意AI早知道|谷歌推出文生视频模型Veo;百度发布全球首个支持 L4 级自动驾驶的大模型突发:西雅图13岁少年在药店打劫妇女被捕;支持巴勒斯坦的抗议蔓延到西雅图;被控谋杀和绑架的西雅图前警官在追捕行动后自杀身亡比VS Code快得多!用Rust重写,支持OpenAI、Copilot 的Zed编辑器开源了都2024了,美国竟投票产生了第1个“白人城市”!网友一边倒的支持...小米汽车发布,雷军直接“封神”?背后这些学科专业的支持功不可没!突发:华盛顿大学支持巴勒斯坦的示威者将解散营地;西雅图国际电影节奖颁了一个大奖给“弟弟”;华州火山会在我们有生之年再次爆发吗?保守党支持率大幅领先!加拿大移民的噩梦又要来了?
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。