Saya mencoba untuk mulai membangun situs di ReactJS. Namun, ketika saya mencoba untuk meletakkan JS saya di file terpisah, saya mulai mendapatkan kesalahan ini: "SyntaxError Tidak Tertangkap: Token tidak terduga <".
Saya mencoba menambahkan /** @jsx React.DOM */
ke bagian atas file JS, tetapi tidak memperbaiki apa pun. Di bawah ini adalah file HTML dan JS. Ada ide tentang apa yang salah?
HTML
<html>
<head>
<title>Page</title>
<script src="http://fb.me/react-0.12.2.js"></script>
<script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
<script src="http://code.jquery.com/jquery-1.10.0.min.js"> </script>
<script src="./lander.js"> </script>
</head>
<body>
<div id="content"></div>
<script type="text/jsx">
React.render(
<Lander />,
document.getElementById('content')
);
</script>
</body>
</html>
JS
/**
* @jsx React.DOM
*/
var Lander = React.createClass({
render: function () {
var info = "Lorem ipsum dolor sit amet... ";
return(
<div>
<div className="info">{info}</div>
</div>
);
}
});
EDIT: Saya menyadari bahwa saya perlu menambahkan type="text/jsx"
ke tag skrip yang menyertakan kode pendarat saya. Namun, setelah menambahkan ini dan memuat ulang saya mendapatkan peringatan ini
"Anda menggunakan transformator JSX dalam browser. Pastikan untuk mengkompilasi JSX Anda untuk produksi - http://facebook.github.io/react/docs/tooling-integration.html#jsx "
diikuti oleh kesalahan ini:
"XMLHttpRequest tidak dapat memuat file: ///Users/.../lander.js. Permintaan lintas sumber hanya didukung untuk skema protokol: http, data, chrome-extension, https, chrome-extension-resource."
Sepertinya ada hal lain yang perlu saya lakukan agar browser jsx transform berfungsi, tapi saya tidak yakin apa itu.
EDIT: OOOOH apakah saya perlu menyimpannya menggunakan MAMP atau sesuatu?
type="text/babel"
ke tag skrip tempat saya mengimpor file JS saya dan skrip Babel yang disebutkan @Steven dalam komentar di atas berfungsi untuk saya.