首页
/ Node.js v23.8.0 版本发布:系统CA证书支持与Zstd压缩算法引入

Node.js v23.8.0 版本发布:系统CA证书支持与Zstd压缩算法引入

2025-05-31 11:24:27作者:冯爽妲Honey

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让开发者能够在服务器端运行 JavaScript 代码。作为当前版本(Current)的 v23.8.0 带来了多项重要更新,特别是在安全性和性能优化方面有显著改进。

系统CA证书支持增强

新版本在 macOS 和 Windows 平台上新增了 --use-system-ca 命令行标志,允许 Node.js 使用系统存储中的受信任 CA 证书。这一改进使得 Node.js 能够更好地与操作系统集成,特别是在企业环境中,系统管理员通常会集中管理证书颁发机构(CA)的信任列表。

开发者现在可以选择三种不同的 CA 证书来源:

  • --use-system-ca:使用系统存储的 CA 证书
  • --use-bundled-ca:使用 Node.js 内置的 CA 证书
  • --use-openssl-ca:使用 OpenSSL 的 CA 证书

这一功能对于需要与各种 HTTPS 服务交互的应用程序尤为重要,特别是在需要验证服务器证书的场景下。

URL Pattern API 实现

v23.8.0 引入了 URL Pattern API 的实现,这是一个用于解析和匹配 URL 的强大工具。URLPattern 构造函数现在可以从 node:url 模块导出,并将在 Node.js 24 中作为全局对象提供。

URL Pattern API 提供了一种声明式的方式来定义 URL 模式,并检查给定的 URL 是否匹配该模式。这对于路由系统、API 网关和其他需要 URL 处理的场景特别有用。开发者可以定义包含通配符、命名组和正则表达式的复杂 URL 模式,然后轻松地匹配和提取 URL 中的各个部分。

Zstandard (zstd) 压缩算法支持

Node.js 现在原生支持 Zstandard 压缩算法,这是一种现代的、高性能的压缩算法,由 Facebook 开发。zstd 提供了出色的压缩比和速度,特别适合需要高效数据压缩的场景。

node:zlib 模块中新增了多个 API,用于压缩和解压缩 zstd 流。这使得开发者可以在 Node.js 应用中轻松利用 zstd 的优势,特别是在处理大量数据或需要网络传输优化的场景中。

线程命名改进

为了提高调试体验,Node.js 现在会为进程创建的线程命名。对于工作线程(Worker Threads),可以使用传递给 Worker 构造函数的 name 选项来指定线程名称。

这一改进使得在调试多线程应用时,开发者能够更容易地识别和跟踪各个线程的活动,特别是在使用调试工具或分析线程转储时。

时区数据更新

Node.js 的时区数据已更新至 2025a 版本,主要变化包括:

  • 南美某国从 2024 年春季开始永久采用 -03 时区
  • 改进了菲律宾 1991 年前的数据准确性

这些更新确保了 Node.js 在处理日期和时间时能够提供最准确的结果,特别是对于历史日期和特定地区的时区规则。

SQLite 模块增强

SQLite 模块现在允许从用户定义函数返回 ArrayBufferView 类型的数据,这为处理二进制数据提供了更大的灵活性。此外,还修复了多个与内存管理和错误处理相关的问题,提高了模块的稳定性和可靠性。

其他改进

  • 加密模块新增 API 用于获取 OpenSSL 安全级别
  • 改进了错误处理和内存管理
  • 更新了多个依赖项的版本
  • 修复了多个 bug 和性能问题

Node.js v23.8.0 的这些改进进一步增强了其作为现代服务器端 JavaScript 运行时的能力,特别是在安全性、性能和开发者体验方面。开发者可以根据自己的需求选择性地采用这些新特性,以构建更强大、更可靠的应用程序。

登录后查看全文
热门项目推荐