Atualização : a abordagem e os documentos do polyfill criar-reagir-app mudaram desde esta pergunta / resposta. Agora você deve incluir react-app-polyfill
( aqui ) se deseja oferecer suporte a navegadores mais antigos, como o ie11. No entanto, isso inclui apenas os " ... requisitos mínimos e recursos de linguagem comumente usados ", então você ainda vai querer usar uma das abordagens abaixo para recursos menos comuns do ES6 / 7 (como Array.includes
)
Essas duas abordagens funcionam:
1. Importações manuais de react-app-polyfill e core-js
Instale react-app-polyfill e core-js (3.0+):
npm install react-app-polyfill core-js
ou yarn add react-app-polyfill core-js
Crie um arquivo chamado (algo como) polyfills.js e importe-o em seu arquivo index.js raiz. Em seguida, importe os polyfills básicos do react-app, além de quaisquer recursos específicos necessários, como:
import 'react-app-polyfill/ie11';
import 'core-js/features/array/find';
import 'core-js/features/array/includes';
import 'core-js/features/number/is-nan';
import './polyfills'
...
2. Serviço Polyfill
Use o CDN polyfill.io para recuperar polyfills personalizados específicos do navegador, adicionando esta linha a index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes"></script>
observe que tive de solicitar explicitamente o Array.prototype.includes
recurso, pois ele não está incluído no conjunto de recursos padrão.
babel-polyfill
um polyfill ES6 + fácil.