アプリケーションでtransform-runtimeとpreset-envを組み合わせる必要がありますか?


8

質問1

私は、彼らはすべてのヘルパー(等で、具体的には、(WebPACKの)バンドル(出力)結果には多くの不必要な重複があることがわかりclassCheckobjectSpread)によるオブジェクト広がりプラグインへ(。

だから、重複を減らしたい。ライブラリの場合、確かに、transform-runtimeプラグイン(を参照runtime-corejs3)を使用してこれを行います。しかし、これはアプリケーションなので、これを行う正しい方法は何ですか?

そのため、transfrom-runtimeプラグインがライブラリに推奨されているため(そして全体の削減のために、つまりヘルパーなど)core-js、混乱していますregenerator。しかし、ここでは、ヘルパーの重複を減らしたいだけです。他の重複ではなく、それがによって行わているためです。babel/env

だからここで私が聞きたい/議論したい質問は、もしそうならhelpersアプリケーションの重複を減らす必要があるということです、そしてどのように?

質問2

他の質問があり、core-js/modules/es.promise.jsかつ core-js-pure/modules/es.promise.js、正確に同じコードしている、主な違いは、単に前者はグローバルな環境汚染を持っているということでしょうか?もしそうなら、なぜポリフィルにcore-js使用(直接インポート)core-js-pureしてからグローバルに追加しないのですか?IMO、これは重複を大幅に削減します。現在ライブラリはtransform-runtime(最終的にcore-js-pure)使用しますが、アプリはpreset-env(最終的にcore-js)使用するため、アプリとライブラリの間で共有/共有可能なコードはありませんよね?


最終的に何を達成したいのか明確ではありません
レオナルド

@Leonardo「もしそうなら、アプリケーションでヘルパーの重複を減らす必要はありますか?」
SmallTown NE

でツリーの揺れが有効になっていwebpackますか?[ webpack.js.org/guides/tree-shaking/]
Varun Goel

@VarunGoelこれは木の揺れに関するものではないと思います。これは重複についてであり、使用/未使用ではないためです
SmallTown NE

回答:


0

@babel/plugin-transform-runtime:ポリフィルをグローバルスコープにアタッチせずに追加します。

@babel/preset-envwith useBuiltins: "usage":グローバルスコープにポリフィルを追加します。

@babel/preset-envwith useBuiltIns: false (default):ポリフィルを追加しません。

したがって@babel/plugin-transform-runtimeライブラリアプリケーションの両方でポリフィルを追加することをお勧めし ます

babel.config.js:

module.exports = {
  presets: ['@babel/preset-env'],
  plugins: [
    '@babel/transform-runtime',
  ],
};
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.