2.3. 技术预览功能
在 Node.js 16 LTS 版本中,以下功能可作为技术预览功能提供。
2.3.1. Web Crypto API 复制链接链接已复制到粘贴板!
Web Crypto API 是标准 W3C Web Cryptography API 的实现。Web Crypto API 可通过使用 require ('crypto').webcrypto 语句来访问。例如:
2.3.2. Web Streams API 复制链接链接已复制到粘贴板!
Web Streams API 是 WHATWG 流标准用于处理流数据的实现。由于是实验性的,因此此发行版本中的全局对象不会公开 Web Streams API。Web Streams API 只能通过新的 stream/web 核心模块访问。例如:
import { ReadableStream, WritableStream } from 'stream/web';
// Or from 'node:stream/web'
import { ReadableStream, WritableStream } from 'stream/web';
// Or from 'node:stream/web'
2.3.3. ESM Loader Hooks API 复制链接链接已复制到粘贴板!
ESM Loader Hooks API 整合 ECMAScript 模块(ESM)加载程序 hook,以表示未来加载程序链所需的步骤:
-
解决方案 :解析 [+ getFormat] -
load: getFormat + getSource + convertSource
为实现一致性,getGlobalPreloadCode loader hook 已重命名为 globalPreload。
导出一个或多个过时的 hook 的任何加载程序都会触发单个弃用警告,该警告列出了错误 hook。
2.3.4. 在 worker 线程间共享原始数据的新类 复制链接链接已复制到粘贴板!
Blob 类封装了可在多个 worker 线程间安全共享的不可变原始数据。
blob 是 缓冲区 类的子类。
2.3.5. test Runner 模块 复制链接链接已复制到粘贴板!
node:test 模块有助于创建以 Test anything Protocol (TAP)格式报告结果的 JavaScript 测试。
要导入测试运行程序模块,请使用以下语法:
import test from 'node:test';
import test from 'node:test';
导入测试运行程序模块时,您必须指定 node: 前缀,如上例所示。node: 前缀表示载入核心模块。如果省略了 node: 前缀,Node.js 会尝试从 Node.js 模块的"userland"生态系统导入测试模块,而不是从 Node.js 内核导入 test runner 模块。
以下代码显示了一个带有两个子tests 的父测试的示例实现:
如需更多信息,请参阅 Node.js Test Runner 文档。