W przypadku Babel w wersji 7, jeśli używasz @ babel / preset-env, aby uwzględnić polyfill, wystarczy dodać flagę „useBuiltIns” z wartością „usage” w konfiguracji babel. Nie ma potrzeby, aby wymagać ani importować polyfillu w punkcie wejścia aplikacji.
Po określeniu tej flagi babel @ 7 zoptymalizuje i uwzględni tylko te wypełnienia, których potrzebujesz.
Aby użyć tej flagi, po instalacji:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
Po prostu dodaj flagę:
useBuiltIns: "usage"
do pliku konfiguracyjnego Babel o nazwie „babel.config.js” (również nowy w Babel @ 7), w sekcji „@ babel / env”:
// file: babel.config.js
module.exports = () => {
const presets = [
[
"@babel/env",
{
targets: { /* your targeted browser */ },
useBuiltIns: "usage" // <-----------------*** add this
}
]
];
return { presets };
};
Odniesienie:
Aktualizacja, sierpień 2019 r .:
Wraz z wydaniem Babel 7.4.0 (19 marca 2019 r.) @ Babel / polyfill jest przestarzałe. Zamiast instalować @ babe / polyfill, zainstalujesz core-js:
npm install --save core-js@3
Nowy wpis corejs
zostanie dodany do twojego 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 };
};
patrz przykład: https://github.com/ApolloTang/stackoverflow-eg--babel-v7.4.0-polyfill-w-core-v3
Odniesienie:
npm install _name_