2016-05-01 6 views
1

Babel/JSX構文を使用してReactJSアプリケーションを開発しています。 Reactのコンポーネントで作られたモジュールを書いてみたい。しかし、私は別のJavascriptの中にJavascriptのオブジェクトを使用するのと同じ方法で、Javascriptの中でBabelスクリプトのオブジェクトを使用することはできません。Javascriptの中でBabelスクリプトのオブジェクトを使用するには?

HTML:

<script src="/js/react_babel_jsx.js" type="text/babel" ></script> 
<script src="/js/my_javascript.js"></script> 

/js/react_babel_jsx.js:Chromeで

var Test = function(){ 

    this.hello = function() { 
     console.log('Hello!') 
    } 
} 

/js/my_javascript.js

new Test().hello() 

コンソール出力:

my_javascript.js:3 Uncaught ReferenceError: Test is not defined 

Javascriptの中でBabelスクリプトのオブジェクトを使用するにはどうすればよいですか?

答えて

2

Babelスクリプトで定義された変数は、それぞれ独自のクロージャ空間にラップされます。これは、これと同じです:

function BabelStuff() { 
    var Test = function() {} 
} 

function OtherStuff() { 
    var x = new Test() // Test not defined! 
} 

あなたがちょうど今あなたがwindow名前空間に物事を追加することができ、この問題を乗り越えるために希望している場合。

window.Test = function(){ 
    this.hello = function() { 
     console.log('Hello!') 
    } 
} 

ただし、これはテスト用であり、運用アプリケーションではありません。あなたが移動する準備ができたら、コードを事前に翻訳したいと思うでしょう。ここにあなたを始めることができる一般的な定型文がありますhttps://github.com/gaearon/react-hot-boilerplate

関連する問題