首頁  >  文章  >  web前端  >  Node更新了,一起看看Node18的新功能!

Node更新了,一起看看Node18的新功能!

青灯夜游
青灯夜游轉載
2022-04-21 21:15:054270瀏覽

Node發布新版本了,這篇文章就來帶大家一起看看Node18的新特性,希望對大家有幫助!

Node更新了,一起看看Node18的新功能!

官方發佈網址:https://nodejs.org/en/blog/release/v18.0.0/

Node更新了,一起看看Node18的新功能!

1. 原生支援fetch

const res = await fetch('https://nodejs.org/api/documentation.json');
if (res.ok) { 
  const data = await res.json(); 
  console.log(data); 
}

Node的全域環境上支援實驗性的fetch API。實作基於undici,一個為Node編寫的HTTP/1.1客戶端。

同時,Node現在可以使用以下全域變數:fetch、FormData、Headers、Request和Response。

2. 內建的 test runner

import test from 'node:test'; 
import * as assert from 'assert/strict'; 

test('sync test', (t) => { 
  assert.equal(1, 1); 
  }
); 
  
test('async test', async (t) => { 
  assert.equal(1, 1); 
  }
);

3. Web Streams

Node下載支援Web Streams API(MDN),這表示Node可以透過Streams API允許JavaScript以程式設計的方式存取透過網路接收的資料流。

4. Blob

buffer新增Blob API,Blob封裝了不可變的原始數據,可以在多個工作執行緒之間安全地共享這些數據。

另外,新增的 BroadcastChannel 實例允許與所有其他綁定到相同 channel name 的 BroadcastChannel 實例進行非同步一對多通訊。

5. 使用V8 新版本

V8將更新為10.1版,這是Chromium 101的一部分。與Node.JS 17.9.0相比,包括以下新功能:

  • findLast()和findlastedex()陣列方法。
  • 對Intl.Locale API的改進。
  • 函數的Intl.SupportedValues。
  • 提高了類別欄位和私有類別方法的效能(現在它們的初始化速度與普通屬性儲存一樣快)。

6. 支援 import JSON

Import Assertions 提案為模組導入語句新增了內嵌語法。此類斷言目的是以跨JavaScript環境的通用方式支援其他類型的模組,從JSON模組開始。

語法如下(導入JSON模組的建議方法):

import json from "./foo.json" assert { type: "json" };
import("foo.json", { assert: { type: "json" } });

結尾

#其他更多特性請參考文章開頭的位址!

更多node相關知識,請造訪:nodejs 教學

以上是Node更新了,一起看看Node18的新功能!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除