Ich fange gerade mit Reactjs an und habe eine einfache Komponente zum Anzeigen des
li
Tags geschrieben und bin auf diesen Fehler gestoßen
:
Unerwartetes Token '<'
Ich habe das Beispiel unter jsbin unter http://jsbin.com/UWOquRA/1/edit?html,js,console,output angegeben
Bitte lassen Sie mich wissen, was ich falsch mache.
UPDATE: In React 0.12+ ist das JSX-Pragma nicht mehr erforderlich.
Stellen Sie sicher, dass das JSX-Pragma oben in Ihren Dateien enthalten ist:
Ohne diese Zeile lassen der
jsx
Binär- und der Browser-Transformator Ihre Dateien unverändert.quelle
type="text/babel"
. Schöne neue Welt von JavascriptDas Problem Unerwartetes Token '<' ist darauf zurückzuführen, dass die Babel-Voreinstellung fehlt.
Lösung: Sie müssen Ihre Webpack-Konfiguration wie folgt konfigurieren
Hier überprüft .jsx sowohl die Formate .js als auch .jsx.
Sie können die Babel-Abhängigkeit einfach mithilfe des Knotens wie folgt installieren
Danke dir
quelle
npm install babel-preset-react
löste mein Problem..babelrc
Datei im Projekt haben"presets": ["env", "react", "es2015"]
und das wars !!In meinem Fall konnte ich das Typattribut nicht in mein Skript-Tag aufnehmen.
quelle
Sie müssen diesen JSX-Code entweder in Javascript transpilieren / kompilieren oder den In-Browser-Transformator verwenden
Schauen Sie sich http://facebook.github.io/react/docs/getting-started.html an und notieren Sie sich die
<script>
Tags. Sie benötigen die Tags, damit JSX im Browser funktioniert.quelle
<script type="text/jsx">
Tag setzen. Wenn Sie möchten, fügen Sie bitte Ihren gesamten Code in eine hastebin.org-Paste einIch habe diesen Fehler und konnte ihn zwei Tage lang nicht lösen. Die Fehlerbehebung ist also sehr einfach. In body, wo Sie Ihre verbinden
script
, fügen Sie hinzutype="text/jsx"
und dies wird das Problem lösen.quelle
Hier ist ein Arbeitsbeispiel von Ihrem jsbin:
HTML:
jsx:
Führen Sie diesen Code aus einer einzelnen Datei aus und es sollte funktionieren.
quelle
Wenn Sie wie ich sind und zu dummen Fehlern neigen, überprüfen Sie auch Ihre package.json, ob sie Ihre Babel-Voreinstellung enthält:
quelle
Für eine korrekte Tag-Analyse müssen Sie diese Babel-Version verwenden: https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js und das Attribut "type = 'text / babel'" im Skript. Außerdem sollte sich Ihr benutzerdefiniertes Skript in "body" -Tags befinden.
quelle
Wenn wir Ihre reale Site-Konfiguration berücksichtigen, müssen Sie ReactJS im Kopf ausführen
und füge ein Attribut zu deiner js-Datei hinzu - type = "text / babel" like
dann funktioniert das folgende Codebeispiel:
quelle
Verwenden Sie den folgenden Code. Ich habe einen Verweis auf React und React DOM hinzugefügt. Verwenden Sie ES6 / Babel, um Ihren JS-Code in Vanille-JavaScript umzuwandeln. Beachten Sie, dass die Rendermethode aus ReactDOM stammt, und stellen Sie sicher, dass für die Rendermethode ein Ziel im DOM angegeben ist. Manchmal kann es zu einem Problem kommen, dass die render () -Methode das Zielelement nicht finden kann. Dies liegt daran, dass der Reaktionscode ausgeführt wird, bevor das DOM gerendert wird. Um dem entgegenzuwirken, rufen Sie mit jQuery ready () die render () -Methode von React auf. Auf diese Weise können Sie sicher sein, dass DOM zuerst gerendert wird. Sie können das Attribut defer auch in Ihrem App-Skript verwenden.
HTML Quelltext:
JS-Code:
Hoffe das löst dein Problem. :-)
quelle
Überprüfen Sie, ob sich .babelrc in Ihrem Anwendungsstammordner und nicht in einem Unterordner befindet. Wenn dies der Fall ist, verschieben Sie die Datei in das Stammverzeichnis.
quelle
Sie können folgenden Code verwenden:
Und vergessen Sie nicht add
<div id='main-content'></div>
in diebody
in Ihremhtml
In Ihrer package.json-Datei sollten Sie jedoch folgende Abhängigkeiten verwenden:
Es funktioniert für mich, aber ich habe auch Webpack verwendet, mit diesen Optionen (in webpack.config.js):
quelle
In meinem Fall musste
babel
ich neben den Voreinstellungen auch Folgendes zu meinem hinzufügen.eslintrc
:quelle
Ich habe heute gerade angefangen zu lernen
React
und hatte das gleiche Problem. Unten ist der Code, den ich geschrieben hatte.Und wie Sie sehen, hatte ich nach der Verwendung ein Komma (,) verpasst
<Hello/>
. Und der Fehler selbst sagt, auf welche Linie wir schauen müssen.Sobald ich also vor dem zweiten Parameter für die
ReactDOM.render()
Funktion ein Komma einfügte, funktionierten alle einwandfrei.quelle
Hier ist eine andere Möglichkeit, wie Sie es HTML tun können
index.js Datei mit dem Pfad src / index.js
Verwenden Sie dieses Paket. Mit json können Sie schnell loslegen
quelle
Obwohl ich alle richtigen Babel-Lader in meiner .babelrc-Konfigurationsdatei hatte. Dieses Build-Skript mit Paketbündler erzeugte bei der manuellen Seitenaktualisierung für mich den unerwarteten Token-Fehler <und MIME-Typ-Fehler in der Browserkonsole.
Durch das Aktualisieren des Build-Skripts wurden die Probleme für mich behoben.
quelle