Ich spiele mit React (@ 13.3) mit babel und webpack.
Ich habe eine Komponente, die folgendermaßen definiert ist:
%Vor%Aber ich bekomme den folgenden Fehler:
Uncaught ReferenceError: React ist nicht definiert
Ich verstehe den Fehler: Das JSX-Bit wird in React.createElement(...)
kompiliert, aber React
befindet sich nicht im aktuellen Bereich, da es nicht importiert wurde.
Meine Fragen sind:
Was ist der saubere Weg, um dieses Problem zu umgehen? Muss ich React
global mit webpack offenlegen?
Verwendete Lösung:
Ich folgte @ Salehen-Rahman Vorschlag.
In meiner webpack.config.js:
%Vor%Ich musste auch meine Tests korrigieren, also fügte ich das zur Datei helper.js hinzu:
%Vor%Meine Tests werden dann mit dem folgenden Befehl gestartet:
%Vor%Meine Fragen lauten: Was ist die saubere Methode, um dieses Problem zu umgehen? Muss ich React global mit webpack offenlegen?
Füge babel-plugin-react-require
zu deinem Projekt hinzu und ändere dann die Babel-Konfiguration deines Webpacks, um die Einstellungen zu ändern zu:
Nachdem Sie das Konfigurationsupdate angewendet haben, können Sie nun Komponenten reaktivieren, ohne React manuell zu importieren.
%Vor% Denken Sie jedoch daran, dass babel-plugin-react-require
Ihren Code so umsetzt, dass die Imports nur bei Vorhandensein des JSX-Tags in eine spezifische -Datei, für
Wenn Sie in Ihrem Knotenmodul-Verzeichnis reagiert haben, können Sie import React from 'react';
am Anfang Ihrer Datei hinzufügen.
Tags und Links javascript reactjs webpack react-jsx babeljs