Node.js 22 发布:新版本有哪些变化
2024年10月18日,Node.js 22 正式发布。此次更新带来了许多期待已久的改进,将影响前端和后端开发者。让我们来看看 JavaScript 生态系统中将出现的最重要的变化。
Node.js 22 的关键新特性
1. V8 引擎 12.4
Node.js 22 已更新至 V8 引擎 12.4 版本。这为典型的服务器负载带来了平均 10-15% 的显著性能提升。同时还支持了 JavaScript 语言的新功能:
- Array.fromAsync — 用于从可迭代源异步创建数组的静态方法。
- RegExp v 标志 — 改进了正则表达式和 Unicode 的处理。
- Set 方法 — 用于集合操作的 union、intersection、difference、symmetricDifference。
2. WebSocket 现已稳定
之前处于实验阶段的内置 WebSocket 支持,终于获得了稳定状态。现在开发者不再需要安装第三方库(例如 ws)来创建 WebSocket 服务器。这简化了实时应用程序的编写。
3. 改进的解析器和 ESM
Node.js 22 默认启用了基于 simdjson 的新 JSON 解析器,将大文件的解析速度提升了 2-3 倍。此外,ESM(ECMAScript 模块)系统最终变得稳定,并推荐用于新项目。不再需要指定 --experimental-modules 标志。
4. 新方法和 API
- fs.openAsBlob() — 将文件作为 Blob 对象处理,以简化上传操作。
- fetch() — 改进了对流和标头的支持。
- URL.parse() — 用于安全解析 URL 的新静态方法。
5. 安全方面的变化
Node.js 22 加强了 TLS 证书验证,并增加了通过安全连接对 HTTP/2 的支持。现在默认启用了 --security-revert 标志,用于自动回滚易受攻击的配置。
何时更新?
Node.js 22 将于 2025 年 10 月获得 LTS(长期支持)状态。建议现在就开始在新版本上测试您的项目,特别是如果您使用 WebSocket 或大量处理 JSON。此次更新对大多数应用程序是安全的,但请务必检查第三方依赖项的兼容性。
您可以从官方网站或通过版本管理器 nvm 下载 Node.js 22。