2016-05-23 9 views
1

Ich versuche, eine Hallo Welt für react.js zu tun, und dennoch schlägt react.js auf Linie 3. Der Fehler ist ein Referenzfehler:Warum reagiert reactive.js nicht auf ein eigenes node.js-Modul?

ReferenceError: Can't find variable: module      react.js:3 

Ich nehme an, dass ein Knotenmodul ist und der Knoten passiert einfach so zu sein, was ich die html mit diene. Ich bin mir nicht ganz sicher, warum das so ist ... Wer möchte mich raten oder mich einweisen? Der Code ist ziemlich geradlinig:

main.js

// main.js 
var React = require('react'); 
var ReactDOM = require('react-dom'); 

ReactDOM.render(
    <h1>Hello, world!</h1>, 
    document.getElementById('example'); 
); 

index.html

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Hello React!</title> 
     <script src="node_modules/react/react.js"></script> 
     <script src="node_modules/react-dom/dist/react-dom.js"></script> 
     <script src="main.js"></script> 
    </head> 
    <body> 
     <div id="example"></div> 
    </body> 
</html> 

Antwort

3

Knotenmodule dürfen nicht direkt in einer HTML-Datei enthalten sein. Sie müssen nur über Javascript-Dateien verwendet werden. Es gibt eine Ausnahme, wenn ein Knotenmodul einen Ordner dist mit CSS & JavaScript bereitstellt, der in index.html enthalten ist. Dies ist beim React-Knotenmodul nicht der Fall. react-dom kann enthalten sein, wie es ist (aus dist Ordner).

Sie benötigen bereits reagieren in main.js. Es ist nicht notwendig, sie in index.html aufzunehmen. Wenn main.js gebündelt wird, wird React einbezogen. Wenn Sie es nicht bündeln, müssen Sie eine Version von React einfügen, die in eine HTML-Datei eingefügt werden kann. Ich denke, es gibt eine in node_modules\react\dist

+0

Dank Damien Leroux – pward