2016-09-08 5 views
0

Meine Seite wird mit dem folgenden Javascript-Rendering:Babel transpile unvollständig?

<script src="/static/js/index.js" type="text/javascript"> 
'use strict'; 
//modules/index.js 
var React = require('react'); 
var ReactDOM = require('react-dom'); 
ReactDOM.render(
React.createElement(
'div', 
null, 
'hello world!' 
), document.getElementById('content')); 
//# sourceMappingURL=index.js.map 
</script> 

Welche meinem Browser keinen Sinn nicht machen kann, weil sie nicht weiß, was React ... ist, weil es keine überall ist enthält. Selbst nachdem ich reagieren js Dateien enthalten (beispielsweise von CDN) Konsole meinem Browser js berichtet

'ReferenceError:require is not defined'. 

Nach Tonnen babel Installation und darauf reagieren bezogenen Module, warum die Transpiler noch Ausgabe erzeugen, die keinen Sinn für den Browser macht? Meine .babelrc Presets sind ["es2015", "react"]. In meiner package.json Datei ist:

"scripts": { 
    "compile": "babel -w modules/ -d public/js --source-maps && exit code 0", 
    "start": "node app.js" 
    }, 

Was vermisse ich?

+0

Haben Sie Knoten installiert? – Li357

+0

@AndrewL. Ich habe Knoten, babel- *, Mops, reagieren- *. Das ist meine Frustration. So viele Dinge zu installieren und noch keiner von ihnen erkennen und arbeiten miteinander :-( – rstruck

+0

Also woher hast du das HTML aus? – zerkms

Antwort

1

Mit Dingen wie NodeJS sind sie serverseitig, nicht clientseitig. Das bedeutet, dass sie nicht im Browser ausgeführt werden sollen. Wenn Sie Ihre App lokal ausführen, verwendet sie Node lokal, also ist alles in Ordnung, aber im Browser ist die Umgebung anders. Um Knoten in Browsern zu verwenden, siehe Webpack oder einen ähnlichen Modullader.

+0

Also, als Neuling, "mir egal, ob etwas Server-Seite oder Client-Seite ist", aber bin in der Denkweise von "Ich will nur Erstellen Sie eine Website mit Node-Technologien ", ICH HABE auf dich Se Webpack? Das habe ich nicht bemerkt. (beschämt). Können Sie eine serverseitige Web-App haben? Wenn ja, wie würde ich diese Arbeit machen, frage ich mich. Going to Webpack versuchen und sehen, ob ich überall damit kommen kann ... – rstruck

+0

@rstruck Es gibt noch andere Alternativen: RequireJS, Browserify, etc. – Li357

+0

Ich sehe. Meine Güte ... Web-Technologie war früher so einfach. OK. Nun, das war aufschlussreich. Ich habe den Punkt, dass der Knoten Server-seitig ist (duh), völlig verpasst. Ich werde diese Antwort akzeptieren, egal ob ich das andere Zeug zum Laufen bringen kann oder nicht, denn das ist die Gedankenverschiebung, die ich brauchte. – rstruck