Node.js v22 正式发布
Node.js 22 现已正式发布,亮点包括 require()ing ES 模块、WebSocket 客户端、V8 JavaScript 引擎的更新等等。Node.js 22 将于 10 月份进入长期支持 (LTS),但在此之前,它将在接下来的六个月内作为“Current”版本。
一些更新亮点包括:
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)
,而不使用该标志。
运行 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)。
更多详情可查看发布公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache RocketMQ ACL 2.0 全新升级
作者:徒钟 引言 RocketMQ 作为一款流行的分布式消息中间件,被广泛应用于各种大型分布式系统和微服务中,承担着异步通信、系统解耦、削峰填谷和消息通知等重要的角色。随着技术的演进和业务规模的扩大,安全相关的挑战日益突出,消息系统的访问控制也变得尤为重要。然而,RocketMQ 现有的 ACL 1.0 版本已经无法满足未来的发展。因此,我们推出了 RocketMQ ACL 2.0 升级版,进一步提升 RocketMQ 数据的安全性。本文将介绍 RocketMQ ACL 2.0 的新特性、工作原理,以及相关的配置和实践。 升级的背景 ACL 1.0 痛点问题 RocketMQ ACL 1.0 的认证和授权流程如上图所示,在使用过程中,存在着以下痛点问题: 绕过访问控制的 IP 白名单:在标准安全实践中,IP 白名单通常用于限制客户端只能从特定 IP 或 IP 段访问资源。然而,ACL 1.0 中,IP 白名单被异常用于绕过鉴权验证的手段, 偏离了标准实践中的安全意图。这种设计上的偏差可能造成潜在的安全隐患,特别是在公网场景中,多个客户端共享同一个 IP 的情况下,会导致未授权的 IP ...
- 下一篇
SQLE 3.2404.0 发布,工单快速定位问题 SQL,支持采集 OB 企业版 TopSQL
本周我们发布了 SQLE 3.2404.0 正式版!主要更新概览: 社区版 工单详情支持查看 SQL 所在文件及行数 企业版 项目业务信息支持统一管理 定时上线支持二次确认 支持采集 OB for Oracle 数据源的 TopSQL 以下是 SQLE 3.2404.0 正式版的新功能解读。 🎈 新功能 社区版 工单详情支持查看 SQL 所在文件及行数 本期支持展示工单中 SQL 的所属文件及所在行数。如您发现工单中的 SQL 审核不通过、上线有问题,需要回到原 SQL 文件中进行修改时,可以通过该功能快速定位 SQL 所在的位置,从而减少定位 SQL 所需的时间消耗。 企业版 1. 项目业务信息支持统一管理 本期支持导入项目信息及项目相关的业务信息。当您初始化平台时,可以批量导入项目及项目中可用的业务标签,减少重复操作;同时,使用固定的业务标签,也可避免因填写不规范带来的问题。通过统一管理业务标签,您可以提高数据录入准确性和效率,确保项目信息的一致性和完整性。 以下是简单的操作概览: 1. 进入项目概览页面,点击导入按钮 2.上传需要导入的项目-业务关系文件,并预览导入效果 3...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G