babel-preset-env
bietet die Option useBuiltIns
, um sie auf babel-polyfill
anzuwenden und% zu transformieren. co_de% auf spezifische, umgebungsbasierte, import 'babel-polyfill'
.
Wird diese Transformation angewendet, wenn ich import 'core-js/whatever
in meinem Webpack-Eintragsabschnitt hinzufüge (siehe Beispiel unten), oder wird in diesem Fall babel-polyfill
ignoriert und durch alle möglichen Importe ersetzt?
Es funktioniert, wenn Sie angeben:
%Vor% Es bezieht sich nicht auf den Einstiegspunkt, da Ihr ./src/app.js
bereits einen Code mit Anforderungen enthält , denke ich. Ich verstehe einfach nicht, was Sie erreichen möchten, indem Sie babel-polyfill
zum Einstiegspunkt hinzufügen, scheint aber in diesem Fall keine Wirkung zu haben.
Ich werde versuchen, zu erklären, wie es funktioniert. Es gibt ein babel-preset-env
-Plugin, das die Liste der Transformations-Plugins und Polyfills vorbereitet. Diese Liste wird von transform-polyfill-require-plugin
verwendet, die nach import
und require
-Anweisungen suchen und diese durch eine Liste von umgebungsspezifischen Modulen ersetzen.
Es bezieht sich überhaupt nicht auf den Einstiegspunkt. Indem Sie babel-polyfill
hinzufügen, fügen Sie einfach den Code in Ihr Paket ein. Also funktioniert transform-polyfill-require-plugin
sowieso nicht. Es ist möglich, es über ein einfaches Debugging zu überprüfen.
Und du brauchst es nicht wirklich. Sie können require("babel-polyfill");
nur einmal in Ihrer App hinzufügen, wie es in den Dokumenten bemerkt wird. Sie können babel-polyfill
nicht zweimal importieren, da dies zu einem Fehler führen kann, da es sich selbst in global
schreibt und eine Überprüfung auf die Kollision durchführt.
Tags und Links javascript webpack ecmascript-6 babeljs babel-polyfill