ホームページ >ウェブフロントエンド >フロントエンドQ&A >ノードバージョン14と10の違いは何ですか

ノードバージョン14と10の違いは何ですか

WBOY
WBOYオリジナル
2022-07-06 16:37:582756ブラウズ

ノード バージョン 14 と 10 の違い: 1. バージョン 10 では、Chromium の V8 エンジンの使用が停止され、V8 のバージョン 6.6 が使用されますが、バージョン 14 で使用されていた V8 はバージョン 8.1 にアップグレードされています。 2. バージョン14 は直接使用できます。「ES モジュール」はアラームを鳴らさず、バージョン 10 では使用できません。

ノードバージョン14と10の違いは何ですか

この記事の動作環境: Windows 10 システム、nodejs 10&&node 14 バージョン、Dell G3 コンピューター。

ノード バージョン 14 と 10 の違いは何ですか

ノード 10

  • vm: 動的インポート サポートを追加します。動的インポートをサポートします。

ただし、ES モジュールはまだ実験段階であり、実験フラグがオンになっていない限り、コード内でインポート/エクスポートを直接使用することはできません。 NodeJS で ES6 インポートを記述する方法を参照してください。

  • nghttp2 を 1.34.0 に更新しました。これにより、RFC 8441 拡張接続プロトコルのサポートが追加され、HTTP/2 経由で WebSocket を使用できるようになりました。 nghttp2 を 1.34.0 に更新しました。これにより、RFC 8441 拡張接続プロトコルのサポートが追加され、HTTP/2 経由で WebSocket を使用できるようになります。

Node 8 では実験的な HTTP/2 モジュールが導入されています。今回は Node への適切なアップグレードです。 HTTP/2 は標準 HTTP プロトコルを改良し、多重化、単一接続、サーバー プッシュ、ヘッダー圧縮などの高度な機能を備えています。今回はいくつかのセキュリティ問題も修正され、WebSocket サポートが追加されています。

  • エラー コードを追加します。 Node のエラー メッセージが標準化されました。

  • n-api は実験的ではなくなりました。[cd7d7b15c1]。 N-API は実験的な機能ではなくなりました

#Node ドキュメントでは、N-API をネイティブ プラグインを構築するための API として説明しています。これは、基盤となる JavaScript ランタイム (例 V8) から独立しており、Node.js 自体の一部として維持されます。この API は、Node.js のバージョン全体で安定したアプリケーション バイナリ インターフェイス (ABI) になります。これは、基盤となる JavaScript エンジンの変更からアドオンを隔離し、あるバージョン用にコンパイルされたモジュールを再コンパイルせずに、以降のバージョンの Node.js で実行できるようにするように設計されています。

  • V8 を 6.6.346.24 にパッチします。ノードは Chromium での V8 エンジンの使用を停止し、v8 のバージョン 6.6 を使用します。これにより、

  • 診断トレースが改善されます。 Node 10 は追跡イベントを追加して、開発者が Node.js アプリケーションをより詳細に確認できるようにします。ノード アプリケーションを開始するときに、パラメーター --trace-event-categories を追加して開きます。詳細については、ドキュメント

  • npm を 6.14.3 に更新するを参照してください。 NPM 6 用に更新されたこのバージョンの npm には、パフォーマンス、セキュリティ、安定性などのさまざまな改善点がすべて追加されています

  • openssl ソースを 1.1.1e にアップグレードします。ノードには、待望の ChaCha20 暗号および Poly1305 バリデータに対する最新の暗号化サポートが付属しています。

  • fs: fs.promises の実験的な警告を削除します。 fs は Promise を直接使用でき、ノード 8 のように変換に util.promisify() 関数を使用する必要はありません。

  • const fs = require('fs');
    const fsPromises = fs.promises;
    // 同步读取
    console.log(fs.readFileSync('temp.txt', 'utf8'));
    // promise 读取,感觉更麻烦了。
    async function doRead() {
      let filehandle = null;
      try {
        filehandle = await fsPromises.open('temp.txt', 'r+');
        let read = await filehandle.readFile();
        console.log(read);
      } finally {
        if (filehandle) {
          // 如果文件已打开,则关闭文件。
          await filehandle.close();
        }
      }
    }
    doRead().catch(console.error);

ノード 14

ECMAScript モジュール - 実験的な警告の削除

Node.js 13 では、 --experimental-modules フラグを含める必要がありますが、Node.js で EcmaScript モジュールを実行する場合、これでも警告が表示されます。 ExperimentalWarning: E​​SM モジュール ローダーは実験的です。

since Node 13 ES モジュールを直接使用できますが、アラームが発生します。ノード 14 以降は、アラームなしで使用できます。

  • V8 は 8.1 にアップグレードされました

  • ArrayBuffer は新しい V8 ArrayBuffer API を使用します

  • openssl ソースが更新されました1.1.1

  • コンソールの groupIndentation オプションに移動します。コンソールは 2 つのスペースよりも長く構成できます。

推奨学習: 「

nodejs ビデオ チュートリアル

以上がノードバージョン14と10の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。