2016-07-06 11 views
-1

私はrequirejsアプリケーションを持っており、反応モジュール/コンポーネントをマイページに追加したいと思います。反応モジュールはbabel/jsxで書かれています。だから私はAMDの変換プラグインを使用し、私は1つのファイルにそれらをconcat。am3アーキテクチャにes6モジュールをロードする方法

もちろん、それぞれの反応するjsファイルにはexport default class/function -partがあります。 反応ファイルの1つに、startUp(html)という関数があり、html要素がパラメータとして必要です。このhtmlパラメータはReactDOM.renderコールで使用されます。

私の問題は、私は私のAMD-モジュール内のスタートアップメソッドにアクセスすることができないということです。

////////////////////// REACT AND BABEL/ES6 CODE ///////////////////////// 
// react-module.js 
export default class MyReactContainer extends React.Component { 
    render() { 
     return <div>Just a DIV</div> 
    } 
} 

// react-main.js 
export default function startUp(html) { 
    ReactDOM.render(<MyReactContainer />, html); 
} 

//////////////////// EXISTING AMD MODULE ///////////////////////////////// 
// reactModuleIncluder.js 
define(['./react-main'], function(reactMain) { 

    function includeReactModule(html) { 
     reactMain(html); // Here I want to call the startUp method 
    } 

    return includeReactModule; 
}); 

私が何ができるか任意のアイデア?それともこれも可能ですか?

EDIT:問題を解決しました。ファイルは1つのjsファイルにトランケートされ、連結されました。今、私は連結処理を取り除き、それは機能します。

+0

最初に反応コードがバベルで蒸解されていますか?最初は、ES6の構文をES5プロジェクトに混ぜているようです。 –

+0

純粋にES6とES5コードとRequireJSを混在させているので、それをすることができない理由はありません。あなたがBabelにAMDモジュールを生産するように言うと、ES6コードはES5で書かれたモジュールとは動作が異なります。私はそれを使用しないので、リアクションについて何も言えません。 – Louis

答えて

-1

問題を解決しました。ファイルは1つのjsファイルにトランケートされ、連結されました。今、私は連結処理を取り除き、それは機能します。

関連する問題