2016-07-27 10 views
2

Reactプロジェクトを直接インポートしたい共通コンポーネント用のフォルダにセットアップしました。 commonフローはインクルードオプションを尊重していないようですか?

src/ 
---components/ 
    ---common/ 
     ---/TextInput 
     ---/TabSelector 

Full folder structure from root

これらの各フォルダは、文とし、export default <name> index.jsx(および、そのようなスタイルなどなど、他のリソースを)持っています。

だから私のWebPACKのコンフィグは、以下の構成があります。直接輸入できます

resolve: { 
    modulesDirectories: [ 
    'node_modules', 
    myCommonComponentsPath 
    ] 
} 

.flowconfigにこれを追加しようとimport TextInput from 'TextInput'

を(flow's documentiationによる)しかし動作していない:

[include] 
./node_modules/ 
<PROJECT_ROOT>/src/components/common 

これはwebpacksリゾルバ(コンポーネントの読み込みと処理)で動作しますが、フローで次のエラーが発生します。

9: import TextInput from 'TextInput'; 
          ^^^^^^^^^^^ TextInput. Required module not found 

助けてください。 どうすれば解決できますか?

+0

プロジェクトのルートフォルダから始まるフォルダ構造は何ですか? – Nazim

+0

リンクを更新しました。 – Horv

+0

ありがとうございます。 'TextInput/index 'から' TextInputをインポートしようとしましたか? '? – Nazim

答えて

1

includeの設定とは異なるmodule.system.node.resolve_dirname設定を使用する必要があります。 Webpackにモジュールを見つける新しい場所を伝えているので、Flowにその新しい場所についても伝える必要があります。

[options] 
module.system.node.resolve_dirname=node_modules 
module.system.node.resolve_dirname=src/components/common 

パスは、 '.flowconfig'ファイルの場所からの相対パスです。

+1

ああ、合理的に聞こえる、ありがとう!私は次の週にそれを確認する時間があるかどうかを見ます。 :) – Horv

関連する問題