第2章 機能


このセクションには、Red Hat build of Node.js 22 リリースにおける機能の変更に関する情報が記載されています。

2.1. 新機能および変更された機能

Node.js 22 LTS には、Red Hat build of Node.js がサポートする次の新機能と機能拡張があります。

Node.js 22 LTS の変更点の詳細は、アップストリームコミュニティーの リリースノートドキュメント を参照してください。

2.1.1. v12.4 への V8 JavaScript エンジンのアップグレード

このリリースには、Chromium 124 の一部である v12.4 への V8 JavaScript エンジンのアップグレードが含まれています。

アップグレードされた V8 JavaScript エンジンには、以下の新機能および機能拡張が含まれています。

V8 JavaScript エンジンで利用可能な変更の詳細は、V8 ブログ を参照してください。

2.1.2. Node.js ストリームのデフォルトハイウォーターマークの増加

Red Hat build of Node.js 22 では、Node.js ストリームのデフォルトのハイウォーターマークが 16 KB から 65 KB に増加しました。この機能拡張により、Node.js ストリームの全体的なパフォーマンスが向上します。

注記

この機能拡張により、メモリー使用量もわずかに増加します。環境がメモリーの影響を受ける場合は、setDefaultHighWaterMark() を使用してデフォルト値を変更できます。

詳細は、Node.js の new stream.Writable および new stream.Readable ドキュメントを参照してください。

2.1.3. AbortSignal 作成のパフォーマンスの向上

Red Hat build of Node.js 22 では、AbortSignal インスタンスの作成が効率化します。この機能拡張により、fetch() API とテストランナーモジュールのパフォーマンスが大幅に向上します。

詳細は、Node.js の AbortSignal ドキュメントを参照してください。

2.1.4. 同期ファイルシステム API のパフォーマンスの向上

Red Hat build of Node.js 22 では、UTF-8 でエンコードされた文字列データ用の非常に効率的な高速パスの追加により、writeFileSync() メソッドが強化されています。このリリースでは、appendFileSync() メソッドを最適化するために、改良された writeFileSync() 機能も使用されます。この機能拡張は、特に文字列データ操作の効率を最大化することに重点を置いています。

詳細は、Node.js の fs.writeFileSync および fs.appendFileSync ドキュメントを参照してください。

2.1.5. 不適切な IPV6 設定の処理の改善

Node.js 17 リリース以降、Node.js は IPv6 アドレスよりも IPv4 アドレスを優先しなくなりました。Node.js は、ドメイン名検索 (DNS) エントリーに基づいて返される順序に従います。この動作は通常、適切に設定されたホストには影響しません。しかし、IPv6 スタックが部分的にまたは誤って設定されているホストでは、この動作により問題が発生する可能性があります。最近のリリースでは、Happy Eyeballs アルゴリズムの実装を組み込み、エッジケースを修正することで、誤って設定されている IPv6 スタックのユーザーエクスペリエンスを向上させることを目指しています。

Red Hat build of Node.js 22 には、net.createConnection フロー内の接続試行に関する次の 3 つの新しいイベントが追加されています。

  • 新しい接続試行が確立されると、connectionAttempt イベントが発生します。Happy Eyeballs を使用すると、このイベントが複数回発生する場合があります。
  • 接続試行が失敗すると、connectionAttemptFailed イベントが発生します。Happy Eyeballs を使用すると、このイベントが複数回発生する場合があります。
  • 接続試行が指定タイムアウト期間を超えると、connectionAttemptTimeout イベントが発生します。Happy Eyeballs を使用する場合、最後の試行ではこのイベントは発生しません。Happy Eyeballs を使用していない場合、このイベントは発生しません。

さらに、Red Hat build of Node.js 22 では、前回の試行が失敗し、ユーザーがすでに接続を破棄した後に、新しい接続の試行が開始されることがある問題が解決されています。この問題により、以前のリリースではアサーションが失敗していました。

注記

問題が発生した場合は、以前のリリースと同様に、--dns-result-order=ipv4first CLI オプションを使用して以前の動作に戻すことができます。--no-network-family-autoselection オプションを使用して、Happy Eyeballs を無効にすることもできます。

詳細は、Node.js の net.Socket ドキュメントを参照してください。

2.1.6. Web Streams の deflate-raw 圧縮形式のサポート

Red Hat build of Node.js 22 では、CompressionStream および DecompressionSteam コンストラクターで deflate-raw パラメーターのサポートが追加されました。deflate-raw パラメーターは、ヘッダーと末尾のチェックサムなしで DEFLATE アルゴリズムを使用してストリームを圧縮または展開します。この機能拡張により、最新のブラウザーがサポートする Web ストリーム圧縮との一貫性が確保されます。

詳細は、Node.js の CompressionStream および DecompressionStream ドキュメントを参照してください。

2.1.7. ウォッチモードの完全なサポート

Red Hat build of Node.js 22 は、実稼働環境で使用できる安定した機能としてウォッチモードを提供します。以前のリリースでは、ウォッチモードは実験的な機能としてのみ提供されていました。

node --watch CLI オプションを使用すると、Node.js アプリケーションをウォッチモードで実行できます。アプリケーションをウォッチモードで実行すると、インポートしたファイルを変更したときにプロセスが再起動されます。これにより、内部ループの開発サイクルが高速化するという主な利点が得られます。

ウォッチモードには次のオプションがあります。

  • --watch オプションは、Node.js をウォッチモードで起動します。
  • --watch-path オプションは、Node.js をウォッチモードで起動し、監視するパスを指定します。
  • --watch-preserve-output オプションは、ウォッチモードによってプロセスが再起動されるときのコンソールのクリアを無効にします。

    注記

    このオプションを使用するには、--watch または --watch-path オプションも使用する必要があります。

詳細は、Node.js の --watch ドキュメントを参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat