Node Js 18 有什么新功能?

言鼎科技 2023-06-16 389

介绍

Node Js是一个专门用于后端开发的开源JavaScript运行环境。Node Js 的先前版本是 Node Js 17,已被Node Js 18取代,于 2022 年 4 月 19 日发布。Node Js 18 的最大功能之一是其更新的 JavaScript V8 引擎 10.1,并且默认情况下启用全局获取。

Node Js 18 将在发布的前六个月作为当前版本,在 2022 年 10 月六个月完成后,Node Js 18 将转换为长期支持 (LTS) 版本。一旦进入 LTS,这个 LTS 版本将被称为Hydrogen。Node Js 18 将支持到 2025 年 4 月。

下图展示了以前版本的 Node Js

Node Js 18 有什么新功能?

Node Js 18 的最新特性

随着最新版本的 Node Js 发布,你一定很想知道Node Js 18的最新特性。以下是功能的快速列表:

全球可用的浏览器兼容 API

Fetch:在 Node Js 18 中,您将默认获得一个实验性(测试)全局 fetch API。这个实验性 API 将继续测试,直到整体测试和贡献者验证它是可行的。

全局获取 API 示例

Node Js 18 有什么新功能?
const res = await fetch('https://nodejs.org/api/documentation.json');如果(res.ok){
 const data = await res.json();
 控制台日志(数据);}

Web Stream API:在 Node Js 18 中,您将获得可用于 Web 应用程序开发的实验性 Webstream API 的全球曝光。

以下是一些可供所有人使用的网络流 API:

  • 可读流

  • ReadableStreamDefaultReader

  • ReadableStreamBYOB阅读器

  • ReadableStreamBYOBRequest

  • 可读字节流控制器

  • 可读流默认控制器

  • 转换流

  • 转换流默认控制器

  • 可写流

  • WritableStreamDefaultWriter

  • 可写流默认控制器

  • 字节长度队列策略

  • 计数队列策略

  • 文本编码器流

  • 文本解码流

  • 压缩流

  • 减压流

实验测试运行器模块

Node Js 18 node:test模块提供了以 TAP 格式创建 JavaScript 测试报告的流畅过程。访问结果的最佳方式是:从“节点:测试”导入测试;

测试运行器模块示例

Node Js 18 有什么新功能?
test('顶级测试', async (t) => {
 等待 t.test('子测试 1', (t) => {
   assert.strictEqual(1, 1);
 });
 等待 t.test('子测试 2', (t) => {
   assert.strictEqual(2, 2);
 });});

编译器和工具链升级

Node Js 始终为各种平台提供预构建的二进制文件。对于每个最新版本,工具链都会在需要时进行评估和升级。

Node Js 18 各平台预建库如下:

  • 现在开发了 Linux 预构建库 (RHEL 8)。它在 Glibc 2.28 上的 Linux 发行版中很灵活。

  • 您必须拥有 macOS 10.15 或更高版本才能使用适用于 macOS 的预构建库。

  • AIX 的最低支持体系结构从 7 提高到 8。

  • 由于 Node Js 中 V8 的一些问题,最初无法获得 32 位窗口的预构建库。

V8 10.1

在Node Js 18版本中V8引擎已经更新到10.1版本,这也是chromium 101的一部分。

构建时间用户空间快照

在 Node 18 中,用户现在可以在 –node-snapshot-main 标志的帮助下使用实验性自定义 V8 快照开发 Node.js 二进制文件。

理解的例子

Node Js 18 有什么新功能?
$ cd /路径/到/节点/源# 指定快照的入口点,例如,# 一个 UMD 模块,如标记的降价渲染器,其中# 这种情况应该初始化渲染器并存储在#globalThis。$ ./configure --node-snapshot-main=marked.js# 构建二进制文件$ 制作节点

HTTP 超时

在 server.headersTimeout 的帮助下,HTTP 标头的默认时间现在设置为 60 秒。此外,对于接收用户或客户端请求,在 Node Js 18 中默认时间设置为 5 分钟。

要使用 Node Js 18,请单击下载链接以访问直接下载链接。

为什么要将现有项目从 Node 17 升级到 18

  • 从 Node 17 转移到 Node 18 的关键原因之一是 V8 引擎的版本升级到 10.1。

  • Intl.Locale API 的增强。

  • 类字段和私有类方法的性能改进。

您可能还喜欢阅读:Node 19功能和更新

Node Js 18 关键点

Node Js 的创建者一直试图为他们的用户提供最好的解决方案,这就是为什么 Node Js 总是通过修复错误、问题并在每个版本中提供附加功能来提供升级版本的原因。节点 18 是当前版本。如果您想利用 Node Js 18 的功能将您的 Node Js Web 应用程序升级到最新版本,以确保您的应用程序安全、可扩展和可靠,请联系 Node Js 开发公司以获得最佳解决方案

言鼎科技主做软件开发,微信小程序,网站开发,软件外包,手机APP开发。如有需要记得联系我们!

The End