@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
- Yarn
- pnpm
- Bun
npm install --save-dev @babel/plugin-syntax-dynamic-import
yarn add --dev @babel/plugin-syntax-dynamic-import
pnpm add --save-dev @babel/plugin-syntax-dynamic-import
bun add --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";
// ...