Para o Babel versão 7, se você estiver usando @ babel / preset-env, para incluir o polyfill, basta adicionar um sinalizador 'useBuiltIns' com o valor de 'use' na sua configuração do babel. Não há necessidade de solicitar ou importar o polyfill no ponto de entrada do seu aplicativo.
Com esse sinalizador especificado, o babel @ 7 otimizará e incluirá apenas os polyfills necessários.
Para usar esse sinalizador, após a instalação:
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
Basta adicionar a bandeira:
useBuiltIns: "usage"
ao seu arquivo de configuração babel chamado "babel.config.js" (também novo no Babel @ 7), na seção "@ babel / env":
// file: babel.config.js
module.exports = () => {
const presets = [
[
"@babel/env",
{
targets: { /* your targeted browser */ },
useBuiltIns: "usage" // <-----------------*** add this
}
]
];
return { presets };
};
Referência:
Atualizar agosto de 2019:
Com o lançamento do Babel 7.4.0 (19 de março de 2019), o babel / polyfill foi descontinuado. Em vez de instalar o @ babe / polyfill, você instalará o core-js:
npm install --save core-js@3
Uma nova entrada corejs
é adicionada ao seu 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 };
};
veja o exemplo: https://github.com/ApolloTang/stackoverflow-eg--babel-v7.4.0-polyfill-w-core-v3
Referência:
npm install _name_