- 木を揺らす
ツリーシェイキングとは、冗長なコードを排除することでプロジェクトのパッケージング量を最適化する技術で、専門用語ではデッドコード排除と呼ばれます。原則: プログラム フローを静的に分析して、使用または参照されていないモジュールと変数を特定し、対応するコードを削除します。
这些多余的代码 1 代码不会被执行,不可到达
2 代码执行的结果不会被用到
3 代码只会影响死变量(只写不读)
これについて言えば、**CommonJS** とES6 モジュールについて話さなければなりません
1. CommonJS モジュールは値のコピーを出力し、ES6 モジュールは値への参照を出力します。
2. CommonJS モジュールは実行時にロードされ、ES6 モジュールはコンパイル時に出力インターフェイスになります。
3. CommonJs は単一の値をエクスポートしますが、ES6 モジュールは複数の値をエクスポートできます。
4. CommonJs の動的構文は判定で記述できますが、ES6 モジュールの静的構文はトップレベルでのみ記述できます。
5. CommonJs のこれは現在のモジュール、ES6 モジュールのこれは未定義です
つまり、CommonJSは動的であり、実行時にのみどのモジュールが使用されているかを知ることができますが、ES6 モジュールは静的であり、実行されていなくてもどのモジュールが使用されているかを知ることができます。したがって、CommonJS はツリーを振るメカニズムには適していません。