Node Js 18 有什么新功能?

言鼎科技 2023-06-16 390

介紹

Node Js是一個專門用于后端開發(fā)的開源JavaScript運行環(huán)境。Node Js 的先前版本是 Node Js 17,已被Node Js 18取代,于 2022 年 4 月 19 日發(fā)布。Node Js 18 的最大功能之一是其更新的 JavaScript V8 引擎 10.1,并且默認情況下啟用全局獲取。

Node Js 18 將在發(fā)布的前六個月作為當前版本,在 2022 年 10 月六個月完成后,Node Js 18 將轉換為長期支持 (LTS) 版本。一旦進入 LTS,這個 LTS 版本將被稱為Hydrogen。Node Js 18 將支持到 2025 年 4 月。

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

Node Js 18 有什么新功能?

Node Js 18 的最新特性

隨著最新版本的 Node Js 發(fā)布,你一定很想知道Node Js 18的最新特性。以下是功能的快速列表:

全球可用的瀏覽器兼容 API

Fetch:在 Node Js 18 中,您將默認獲得一個實驗性(測試)全局 fetch API。這個實驗性 API 將繼續(xù)測試,直到整體測試和貢獻者驗證它是可行的。

全局獲取 API 示例

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

Web Stream API:在 Node Js 18 中,您將獲得可用于 Web 應用程序開發(fā)的實驗性 Webstream API 的全球曝光。

以下是一些可供所有人使用的網(wǎng)絡流 API:

  • 可讀流

  • ReadableStreamDefaultReader

  • ReadableStreamBYOB閱讀器

  • ReadableStreamBYOBRequest

  • 可讀字節(jié)流控制器

  • 可讀流默認控制器

  • 轉換流

  • 轉換流默認控制器

  • 可寫流

  • WritableStreamDefaultWriter

  • 可寫流默認控制器

  • 字節(jié)長度隊列策略

  • 計數(shù)隊列策略

  • 文本編碼器流

  • 文本解碼流

  • 壓縮流

  • 減壓流

實驗測試運行器模塊

Node Js 18 node:test模塊提供了以 TAP 格式創(chuàng)建 JavaScript 測試報告的流暢過程。訪問結果的最佳方式是:從“節(jié)點:測試”導入測試;

測試運行器模塊示例

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 各平臺預建庫如下:

  • 現(xiàn)在開發(fā)了 Linux 預構建庫 (RHEL 8)。它在 Glibc 2.28 上的 Linux 發(fā)行版中很靈活。

  • 您必須擁有 macOS 10.15 或更高版本才能使用適用于 macOS 的預構建庫。

  • AIX 的最低支持體系結構從 7 提高到 8。

  • 由于 Node Js 中 V8 的一些問題,最初無法獲得 32 位窗口的預構建庫。

V8 10.1

在Node Js 18版本中V8引擎已經(jīng)更新到10.1版本,這也是chromium 101的一部分。

構建時間用戶空間快照

在 Node 18 中,用戶現(xiàn)在可以在 –node-snapshot-main 標志的幫助下使用實驗性自定義 V8 快照開發(fā) Node.js 二進制文件。

理解的例子

Node Js 18 有什么新功能?
$ cd /路徑/到/節(jié)點/源# 指定快照的入口點,例如,# 一個 UMD 模塊,如標記的降價渲染器,其中# 這種情況應該初始化渲染器并存儲在#globalThis。$ ./configure --node-snapshot-main=marked.js# 構建二進制文件$ 制作節(jié)點

HTTP 超時

在 server.headersTimeout 的幫助下,HTTP 標頭的默認時間現(xiàn)在設置為 60 秒。此外,對于接收用戶或客戶端請求,在 Node Js 18 中默認時間設置為 5 分鐘。

要使用 Node Js 18,請單擊下載鏈接以訪問直接下載鏈接。

為什么要將現(xiàn)有項目從 Node 17 升級到 18

  • 從 Node 17 轉移到 Node 18 的關鍵原因之一是 V8 引擎的版本升級到 10.1。

  • Intl.Locale API 的增強。

  • 類字段和私有類方法的性能改進。

您可能還喜歡閱讀:Node 19功能和更新

Node Js 18 關鍵點

Node Js 的創(chuàng)建者一直試圖為他們的用戶提供最好的解決方案,這就是為什么 Node Js 總是通過修復錯誤、問題并在每個版本中提供附加功能來提供升級版本的原因。節(jié)點 18 是當前版本。如果您想利用 Node Js 18 的功能將您的 Node Js Web 應用程序升級到最新版本,以確保您的應用程序安全、可擴展和可靠,請聯(lián)系 Node Js 開發(fā)公司以獲得最佳解決方案。

言鼎科技主做軟件開發(fā),微信小程序,網(wǎng)站開發(fā),軟件外包,手機APP開發(fā)。如有需要記得聯(lián)系我們!

The End