Per Babel versione 7, se stai usando @ babel / preset-env, per includere polyfill tutto ciò che devi fare è aggiungere un flag "useBuiltIns" con il valore di "utilizzo" nella configurazione di babel. Non è necessario richiedere o importare polyfill nel punto di ingresso della tua app.
Con questo flag specificato, babel @ 7 ottimizzerà e includerà solo i polyfill di cui hai bisogno.
Per utilizzare questo flag, dopo l'installazione:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
Aggiungi semplicemente la bandiera:
useBuiltIns: "usage"
al tuo file di configurazione di babel chiamato "babel.config.js" (anche nuovo per Babel @ 7), nella sezione "@ babel / env":
// file: babel.config.js
module.exports = () => {
const presets = [
[
"@babel/env",
{
targets: { /* your targeted browser */ },
useBuiltIns: "usage" // <-----------------*** add this
}
]
];
return { presets };
};
Riferimento:
Aggiornamento agosto 2019:
Con il rilascio di Babel 7.4.0 (19 marzo 2019) @ babel / polyfill è obsoleto. Invece di installare @ babe / polyfill, installerai core-js:
npm install --save core-js@3
Una nuova voce corejs
viene aggiunta a babel.config.js
// file: babel.config.js
module.exports = () => {
const presets = [
[
"@babel/env",
{
targets: { /* your targeted browser */ },
useBuiltIns: "usage",
corejs: 3 // <----- specify version of corejs used
}
]
];
return { presets };
};
vedi esempio: https://github.com/ApolloTang/stackoverflow-eg--babel-v7.4.0-polyfill-w-core-v3
Riferimento:
npm install _name_