मैं ReactJS में साइट बनाने की कोशिश कर रहा हूं। हालांकि, जब मैंने अपने जेएस को एक अलग फाइल में डालने की कोशिश की, तो मुझे यह त्रुटि मिलनी शुरू हो गई: "अनटॉक्ड सिंटैक्स्योर: अनपेक्षित टोकन <"।
मैंने /** @jsx React.DOM */
JS फ़ाइल के शीर्ष में जोड़ने का प्रयास किया, लेकिन यह कुछ भी ठीक नहीं किया। नीचे HTML और JS फाइलें हैं। क्या गलत हो रहा है के रूप में किसी भी विचार?
एचटीएमएल
<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>
जे एस
/**
* @jsx React.DOM
*/
var Lander = React.createClass({
render: function () {
var info = "Lorem ipsum dolor sit amet... ";
return(
<div>
<div className="info">{info}</div>
</div>
);
}
});
संपादित करें: मुझे एहसास हुआ कि मुझे type="text/jsx"
स्क्रिप्ट टैग में जोड़ना होगा जिसमें मेरा लैंडर कोड शामिल है। हालाँकि, इसे जोड़ने और पुनः लोड करने के बाद मुझे यह चेतावनी मिलती है
"आप इन-ब्राउज़र जेएसएक्स ट्रांसफार्मर का उपयोग कर रहे हैं। उत्पादन के लिए अपने जेएसएक्स को पूर्वनिर्धारित करना सुनिश्चित करें - http://facebook.github.io/react/docs/tooling-integration.html#jsx "
इस त्रुटि के बाद:
"XMLHttpRequest फ़ाइल लोड नहीं कर सकता: ///Users/../lander.js। क्रॉस मूल अनुरोध केवल प्रोटोकॉल योजनाओं के लिए समर्थित हैं: http, डेटा, क्रोम-एक्सटेंशन, https, क्रोम-एक्सटेंशन-संसाधन।"
ऐसा लगता है कि ब्राउज़र jsx ट्रांसफ़ॉर्मिंग वर्किंग में आने के लिए मुझे कुछ और करना होगा, लेकिन मुझे यकीन नहीं है कि यह क्या है।
संपादित करें: OOOOH क्या मुझे इसे MAMP या कुछ और का उपयोग करके होस्ट करने की आवश्यकता है?
type="text/babel"
स्क्रिप्ट टैग को जोड़ना जहां मैं अपनी जेएस फाइल और बाबेल स्क्रिप्ट आयात कर रहा हूं जो @Steven ने ऊपर टिप्पणी में उल्लेख किया है, मेरे लिए काम कर रहा है।