2016-03-22 38 views
3

私はまだ完全に反応していません。私は、次の内容でのindex.htmlファイルで作成してみました:未知のリファレンスエラー - オブジェクト/クラスが定義されていません

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>React Tutorial</title> 
    <!-- Not present in the tutorial. Just for basic styling. --> 
    <link rel="stylesheet" href="css/base.css" /> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.7/react-dom.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.5/marked.min.js"></script> 
    </head> 
    <body id="html-body"> 
    <div id="content"></div> 
    <script type="text/babel" src="scripts/box.js"></script> 
    <script type="text/babel"> 
    ReactDOM.render(
     <Box />, 
     document.getElementById('content') 
    ); 
    </script> 
    </body> 
</html> 

そしてscripts/box.jsに、私は次のコードを持っている:

var Box = React.createClass({ 
    render: function() { 
    return (
     <h2>Purple Monkey</h2> 
    ); 
    } 
}); 

を、私は私のブラウザでindex.htmlをを表示すると、私はエラーを取得しますUncaught ReferenceError: Box is not defined。しかし、ボックスクラスを定義した直後に、ReactDOM.render行をindex.html内のscripts/box.jsに移動すると、すべてが機能します。

ReactDOM.renderscripts/box.js以外で実行できないのはなぜですか?反応コンポーネントを他のjavascriptファイルでも使用できるようにするには、どうすれば適切にインクルード/必要なのですか?

+1

@John

関連する問題