Node.js 18がリリースされ、グローバルFetchAPIとコアテストランナーモジュールが導入されました

Node.js 18がリリースされました。このリリースのハイライトには、V8 JavaScriptエンジンを10.1に更新すること、デフォルトでグローバルFetch APIを有効にすること、コアテストランナーモジュールが含まれます。Node.js 18は、今後6か月間の「現在の」リリースであり、2022年10月にLTSにアップグレードされ、その後2025年4月までサポートされます。

新しいブラウザ互換API

Global Fetch API(実験的)

Node.js 18は、デフォルトで実験的なグローバルFetch APIを提供し、HTTP / 1.1クライアントundiciから実装され、 node-fetchに触発されています

このAPIの使用例:

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

この追加により、次のグローバル変数を使用fetchできますFormData、、、、、HeadersRequestResponse

  • APIは、--no-experimental-fetchコマンド。
  • より多くのテストカバレッジが追加され、APIが可能な限り多くの仕様を実装するまで、APIは実験的なままです。

Web Streams API(実験的)

Node.jsは、WebStreamsAPIの実験的な実装をグローバルに公開するようになりました。これは、次のAPIが使用可能であることを意味します。

  • ReadableStream、、、、、、、、、、、、、、、、、、、、ReadableStreamDefaultReader_ ReadableStreamBYOBReader_ ReadableStreamBYOBRequest_ ReadableByteStreamController_ ReadableStreamDefaultController_ TransformStream_ TransformStreamDefaultController_ WritableStream_ WritableStreamDefaultWriter_ WritableStreamDefaultController_ ByteLengthQueuingStrategy_ CountQueuingStrategy_ TextEncoderStream_ TextDecoderStream_ CompressionStream_DecompressionStream

その他のグローバルAPI

さらに、次のAPIがグローバルに公開されるようになりました。

テストランナーモジュール(実験的)

結果をTAP形式で報告するJavaScriptテストの作成に役立つ新しいnode:testモジュールます。このモジュールは、を介してimport test from 'node:test';インポート。次に、2つの子テストを使用した親テストの例を示します。

test('トップレベルテスト'、async(t)=> { 
  await t.test('subtest 1'、(t)=> { 
    assert.strictEqual(1、1); 
  }); 

  await t.test('subtest 2'、(t)=> { 
    assert.strictEqual(2、2); 
  }); 
});

注:テストランナーモジュールはプレフィックスのみを使用できますnode:。プレフィックスnode:はコアモジュールをロードすることを意味し、プレフィックスを省略してインポート'test'すると、ユーザーランドモジュールがロードされます。

このテストランナーの詳細について、ドキュメントをご覧ください。

ツールチェーンとコンパイラのアップグレード

Node.jsは、いくつかの異なるプラットフォーム用にビルド済みのバイナリを提供します。

  • Linux用のビルド済みバイナリはRedHatEnterprise Linux(RHEL)8でビルドされ、Debian 10、RHEL 8、Ubuntu20.04などのglibc2.28以降に基づくLinuxディストリビューションと互換性があります。
  • macOS用にビルド済みのバイナリにはmacOS10.15以降が必要です。
  • AIXの場合、サポートされる最小アーキテクチャーがPower7からPower8に引き上げられました。
  • Node.jsでのV8依存関係の構築に問題があるため、32ビットWindows用に事前に構築されたバイナリは利用できません。

V8が10.1に更新されました

V8エンジンはバージョン10.1に更新され、次の新機能が含まれています。

更新のお知らせ|完全な更新リスト|ダウンロードアドレス

おすすめ

転載: www.oschina.net/news/192150/nodejs-18-released