Update : Der Ansatz zum Erstellen und Reagieren von App-Polyfills und die Dokumente haben sich seit dieser Frage / Antwort geändert. Sie sollten jetzt react-app-polyfill
( hier ) angeben, ob Sie ältere Browser wie ie11 unterstützen möchten. Dies beinhaltet jedoch nur die " ... Mindestanforderungen und häufig verwendeten Sprachfunktionen ". Daher sollten Sie für weniger gebräuchliche ES6 / 7-Funktionen (wie z. B. Array.includes
) weiterhin einen der folgenden Ansätze verwenden.
Diese beiden Ansätze funktionieren beide:
1. Manuelle Importe von React-App-Polyfill und Core-Js
Installieren Sie react-app-polyfill und core-js (3.0+):
npm install react-app-polyfill core-js
oder yarn add react-app-polyfill core-js
Erstellen Sie eine Datei mit dem Namen (so etwas wie) polyfills.js und importieren Sie sie in Ihre Stammdatei index.js. Importieren Sie dann die grundlegenden React-App-Polyfills sowie alle erforderlichen spezifischen Funktionen wie folgt:
/* polyfills.js */
import 'react-app-polyfill/ie11';
import 'core-js/features/array/find';
import 'core-js/features/array/includes';
import 'core-js/features/number/is-nan';
/* index.js */
import './polyfills'
...
2. Polyfill-Service
Verwenden Sie das CDN polyfill.io , um benutzerdefinierte, browserspezifische Polyfills abzurufen, indem Sie diese Zeile zu index.html hinzufügen:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes"></script>
Beachten Sie, dass ich die Funktion explizit anfordern musste, Array.prototype.includes
da sie nicht im Standardfeature-Set enthalten ist.
babel-polyfill
als einfache ES6 + Polyfüllung.