Node.js v17.0.0 正式发布

Alias_Travis
 Alias_Travis
发布于 2021年10月21日
收藏 1

Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境。Node.js 由Node.js Foundation(已与 JS Foundation 合并为 OpenJS Foundation)持有和维护,亦为 Linux 基金会的项目。Node.js 采用 Google 开发的 V8 运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于资料密集的即时应用程序。

Node.js 17.0.0 正式发布,本次更新值得注意的变化包括:

弃用与移除

  • [4b030d0573] - doc: 在 http 中弃用 .aborted 属性和 abort aborted 事件 (doc-only) #36670
  • [36e2ffe6dc] - (SEMVER-MAJOR) module: 移除子路径文件夹映射 #40121
  • [64287e4d45] - (SEMVER-MAJOR) module: 运行时弃用斜杠结尾(trailing slash)模式 #40117

OpenSSL 3.0

Node.js 现在包含 OpenSSL 3.0,特别是提供 QUIC 支持的 quictls/openssl。在 OpenSSL 3.0 中,使用新的 FIPS 模块再次提供 FIPS 支持。

虽然 OpenSSL 3.0 API 与 OpenSSL 1.1.1 提供的 API 基本兼容,但由于对允许的算法和密钥大小的严格限制,预计会对 Node.js 的生态产生一些影响。

如果你在使用 Node.js 17 的应用程序中遇到ERR_OSSL_EVP_UNSUPPORTED错误,很可能是你的应用程序或正在使用的模块尝试使用 OpenSSL 3.0 默认不再允许的算法或密钥大小。开发者可以添加--openssl-legacy-provider命令行选项 ,作为这些收紧限制的临时解决方法以恢复应用程序。

有关 OpenSSL 3.0 中所有功能的详细信息,请参阅该链接

V8 9.5

V8 JavaScript 引擎已经更新到 V8 9.5。该版本为 Intl.DisplayNames API 提供了额外的支持类型,并在 Intl.DateTimeFormat API 中扩展了 timeZoneName 选项。

Readline Promise API

readline 模块提供了一个接口,用于从 Readable 流(如 process.stdin)中一次一行地读取数据。

下面的简单例子说明了 readline 模块的基本用途。

import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();

其他值得注意的变化

  • [1b2749ecbe] - (SEMVER-MAJOR) dns: 在 dns.lookup() 中默认设置 verbatim=true #39987
  • [59d3d542d6] - (SEMVER-MAJOR) errors: 在导致退出的关键异常上打印 Node.js 版本 #38332
  • [a35b7e0427] - deps: 将 npm 升级到 8.1.0 #40463
  • [6cd12be347] - (SEMVER-MINOR) fs: 添加 FileHandle.prototype.readableWebStream() #39331
  • [d0a898681f] - (SEMVER-MAJOR) lib: 添加 structuredClone() 全局方法 #39759
  • [e4b1fb5e64] - (SEMVER-MAJOR) lib: 公开 DOMException 为全局 #39176
  • [0738a2b7bd] - (SEMVER-MAJOR) stream: 在错误的流上完成也应该以错误的行为结束 #39235

更多详情可查看:https://nodejs.org/en/blog/release/v17.0.0/

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Node.js v17.0.0 正式发布
加载中
返回顶部
顶部