Vai al contenuto principale

@babel/plugin-syntax-dynamic-import

Traduzione Beta Non Ufficiale

Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →

informazioni

Questo plugin è incluso in @babel/preset-env, nello standard ES2020.

consiglio

Puoi rimuovere tranquillamente questo plugin dalla configurazione di Babel se usi @babel/core 7.8.0 o superiore.

Installazione

npm install --save-dev @babel/plugin-syntax-dynamic-import

Utilizzo

Con un file di configurazione (Consigliato)

babel.config.json
{
"plugins": ["@babel/plugin-syntax-dynamic-import"]
}

Tramite CLI

Shell
babel --plugins @babel/plugin-syntax-dynamic-import script.js

Tramite Node API

JavaScript
require("@babel/core").transformSync("code", {
plugins: ["@babel/plugin-syntax-dynamic-import"],
});

Utilizzo con Webpack e @babel/preset-env

Attualmente, @babel/preset-env non è consapevole che l'uso di import() con Webpack si basa internamente su Promise. Gli ambienti senza supporto nativo per Promise, come Internet Explorer, richiederanno l'aggiunta manuale dei polyfill sia per promise che per iterator.

Ad esempio, con core-js@3:

webpack.config.js
const config = {
entry: [
"core-js/modules/es.promise",
"core-js/modules/es.array.iterator",
path.resolve(__dirname, "src/main.js"),
],
// ...
};

oppure

src/main.js
import "core-js/modules/es.promise";
import "core-js/modules/es.array.iterator";

// ...

Lo stesso vale per core-js@2, con percorsi di importazione leggermente diversi:

webpack.config.js
const config = {
entry: [
"core-js/modules/es6.promise",
"core-js/modules/es6.array.iterator",
path.resolve(__dirname, "src/main.js"),
],
// ...
};

oppure

src/main.js
import "core-js/modules/es6.promise";
import "core-js/modules/es6.array.iterator";

// ...