2016-07-20 9 views
0

Reactコンポーネントを作成しようとしていますDynamicCollection同じページで何度も使用したいです。Webpack + Reactable:再利用可能なコンポーネントが定義されていません

  • ReactDOM.render(<DynamicCollection p1=... p2=.../>,document.getElementById(dyna1));
  • dyna2.jsとdyna1.js ReactDOM.render(<DynamicCollection p1=... p2=.../>,document.getElementById(dyna2));
  • と:私が好きな何

    はdynamicCollection.jsxと、このようなコンポーネントDynamicCollectionを使用するいくつかのファイルからファイルdynamicCollection.jsです

    :私はこれを持ってdynamicCollection.jsxで

...

export default class DynamicCollection extends React.Component { ... } 

そして最後にwebpack.config.jsで:

ReferenceError: DynamicCollection is not defined

(注:

var webpack = require('webpack'); 
var path = require('path'); 

var BUILD_DIR = path.resolve(__dirname, './build'); 
var APP_DIR = path.resolve(__dirname, './app'); 

var config = { 
    entry: { 
     'DynamicCollection': './app/DynamicCollectionBox.jsx', 
     'dyna1': './app/dyna1.js', 
     'dyna2': './app/dyna1.js', 
    }, 
    output: { 
     path: BUILD_DIR, 
     filename: '[name].js' 
    }, 
    module : { 
     loaders : [ 
     { 
      test: /\.jsx?/, 
      loader : 'babel?presets[]=es2015' 
     } 
     ] 
    } 
}; 

module.exports = config; 

問題は、私は、ブラウザのコンソールでこのエラーが出るということです私はDynamicCollectionが含まれています。 js、dyna1.js、dyna2.js)

お手伝いできますか?

ありがとうございます!

+0

出力ファイル名も大文字と小文字が区別されます。だから、あなたはhtmlファイルに 'DynamicCollection.js'を含めるべきです。 – Vikramaditya

+0

はい、あなたは正しいです。しかし、これでも私は同じメッセージを持っています... – user2739974

+0

@ user2739974あなたのファイル 'dyna1.js'と' dyna2.js'にある 'DynamicCollection.jsx'からコンポーネント' DynamicCollection'をインポートしました。あなたのwebpackによって生成された '[name] .js'だけ@htmlにインポートしてください。 –

答えて

0

私はこれに対する答えを見つけました。 私がしたことは、webpackの出力に以下の属性が導入されました。

library: 'ReactWelcomeComponent', 
libraryTarget: 'var' 

私の角度の指示で、以下のような反応コンポーネントにアクセスできます。このアプローチで

var JSXReactComponent = React.createFactory(ReactWelcomeComponent.default); 

、Iは角度文脈でのWebPACKステップとアクセスの一部として生成された反応させコンポーネントを呼び出すことができています。

関連する問題