2015-08-16 128 views
9

我正在通過reactjs教程使用我自己的服務器(apache)以及建議的HTML文件和教程示例的逐字拷貝來工作...語法錯誤「正在嘗試運行reactjs tuturial時出現'<'」

最簡單的例子失敗我的服務器上,但工作在的jsfiddle ..用腳本

我的HTML文件如下所示..

腳本失敗,語法錯誤的渲染:函數(){.. 。

firefox中的錯誤消息和Safari(Mac版,最新的)..

「」 「語法錯誤:預期的表現,得到了 '<' React.render(,的document.getElementById( '集裝箱') 」「」 [我的文件]

<html> 
<head> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.2/marked.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

</head> 
<script> 
var Hello = React.createClass({ 
    render: function() { 
     return <div>Hello {this.props.name}</div>; 
    } 
}); 

React.render(<Hello name="World" />, document.getElementById('container')); 

</script> 

<body> 

    <div id="container"> 
    <!-- This element's contents will be replaced with your component. --> 
</div> 


</body> 
</html> 
+0

嘗試移動''標籤到體內。 JSX轉換器腳本需要時間加載。 – Harangue

回答

13

您發佈的代碼有兩個問題。

第一個是JSX轉換器未轉換您的代碼,因爲script標記上沒有相應的type屬性。

變化

<script> 
var Hello = React.createClass({ 
... 

<script type="text/jsx"> 
var Hello = React.createClass({ 
... 

其次,你打電話document.getElementById('container')之前div在頁面上確實存在;將最後的script標記及其內容移至div之後(例如,移至body的底部)。

您應該結束了與代碼類似於它是如何在教程中所示:

<!-- index.html --> 
<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="UTF-8" /> 
    <title>Hello React</title> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.13.3/JSXTransformer.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    </head> 
    <body> 
    <div id="content"></div> 
    <script type="text/jsx"> 
     // Your code here 
    </script> 
    </body> 
</html> 
+0

謝謝 - 我現在看到了..它以這種方式工作,並且完全理解爲什麼它在 – steelliberty

+1

之前無法正常工作。這對我沒有任何作用。我得到空白屏幕。沒有控制檯錯誤。 –

相關問題