Frage 1
Ich finde , dass es viele unnötigen Verdoppelungen in dem (webpack) Bündel (Ausgang) Ergebnis ist, um genau zu sein, sie alle Helfer sind (wie classCheck
, objectSpread
(aufgrund der Objekt-Spread - Plugin).
Also möchte ich die Duplikate reduzieren. Wenn es sich um eine Bibliothek handelt, verwende ich dazu das Transform-Runtime-Plugin (siehe runtime-corejs3
). Aber jetzt ist dies eine Anwendung . Wie kann man das richtig machen?
Dafür bin ich verwirrt , weil das transfrom-runtime
Plugin wird empfohlen für Bibliothek (und ist für die gesamte Reduktion. Dh core-js
, regenerator
und die Helfer). Aber hier möchte ich nur die Helfer- Duplikate reduzieren , nicht andere Duplikate, weil dies von getan wurde babel/env
.
Hier ist die Frage, die ich stellen / diskutieren möchte, ob es notwendig ist, die helpers
Duplikate in einer Anwendung zu reduzieren , wenn ja, und wie?
Frage 2
Die andere Frage ist, core-js/modules/es.promise.js
und core-js-pure/modules/es.promise.js
sind genau der gleiche Code, der Hauptunterschied ist nur, dass der erstere globale Verschmutzung hat? Wenn ja, warum core-js
wird core-js-pure
Polyfill nicht verwendet (direkt importiert) und dann zu global hinzugefügt? IMO, dies wird die Duplikate erheblich reduzieren , da derzeit die Bibliotheken transform-runtime
(endlich core-js-pure
), aber Apps preset-env
(endlich core-js
) verwenden, es keine gemeinsam genutzten Codes zwischen Apps und Bibliotheken gibt, oder?
quelle
webpack
? [ webpack.js.org/guides/tree-shaking/]Antworten:
@babel/plugin-transform-runtime
: Fügen Sie Polyfills hinzu, ohne sie dem globalen Bereich zuzuordnen.@babel/preset-env
mituseBuiltins: "usage"
: Hinzufügen von Polyfills zum globalen Bereich.@babel/preset-env
mituseBuiltIns: false (default)
: Fügen Sie keine Polyfills hinzu.babel.config.js:
quelle