Ich habe eine reactjs
App, die mit ES6-Standards geschrieben wurde, und ich verwende sie webpack
, um sie zu erstellen. Das webpack
lädt die js
Module mit babel-loader
. Um genau zu sein, verwende ich die folgenden Versionen von Paketen:
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
Nach dem Erstellen gibt der IE 10 jedoch den folgenden Fehler aus 'Symbol' is undefined
. Sollte das nicht das babel
definieren sollen Symbol
? Gibt es eine bestimmte Konfiguration für webpack
oder muss babel
ich diese festlegen, damit sie funktioniert? Ich benutze die {stage: 0}
Konfiguration in meinem .babelrc
.
Jede Hilfe wäre dankbar, danke!
Antworten:
Sie können Polyfill im Einstiegspunkt für Ihren Code verlangen, damit dieser mit dem Rest von JavaScript gebündelt wird.
Eine Option ist zu verwenden:
Oder:
All dies wird in der Dokumentation erklärt .
quelle
babel-polyfill
Dieses Problem wurde für mich behoben. Danke dir!Ok, ich habe schließlich herausgefunden, dass
babel
allein keine Polyfüllung erfolgt. Einschließlich Skript<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js"></script>
löste dieses Problem für mich.quelle
Diese Lösung wird sicher funktionieren, sie hat bei mir funktioniert, als ich auf den Fehler gestoßen bin: 'Symbol' ist im IE undefiniert. In Chrome und Firefox hat es früher funktioniert, aber der IE hat diesen Fehler ausgelöst. Ich habe einige Stunden gebraucht, um diese Lösung zu finden. Ich verwende die neueste React zu diesem Zeitpunkt reagieren "reagieren": "^ 16.5.0" auf Windows-Maschine.
Problem sollte gelöst werden
quelle
OK, ich hatte das gleiche Problem, aber in meinem Fall war das ganz anders. Im Grunde müssen Sie das Skript wie folgt in die Indexdatei aufnehmen:
Aber in meinem Fall habe ich bereits aufgenommen, dass ich nach einigen Untersuchungen herausgefunden habe, dass mein Proxy das Skript blockiert hat ...
So stellen Sie sicher , Sie sind es in index.html und auch sicherstellen, dass Sie Zugriff auf das Skript aus , wo Sie es brauchen um den Fehler zu vermeiden , geschieht ... beste Weg , einfach kopieren und die URL in den Browser einfügen ...
Aber jetzt, wo wir zu diesem Punkt kommen, geht es nicht um das Symbol selbst. Was ist das Symbol, das im IE nicht erkannt werden kann?
quelle
in der Dokumentation zu Runtime
edit: noch besser auf heroku im prod mode benutze --save statt --save-dev
quelle
@babel/plugin-transform-runtime