2016-07-27 15 views
2

Ich habe mein React-Projekt mit einem Ordner für allgemeine Komponenten, die ich direkt importieren möchte, eingerichtet.Flow scheint nicht Option zu berücksichtigen?

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

Full folder structure from root

haben Jeder dieser Ordner in common eine index.jsx (und andere Ressourcen wie Stil usw.) mit und export default <name> Aussage.

Also meine webpack Config hat die folgende Konfiguration:

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

die Direktimporte erlaubt: import TextInput from 'TextInput'

Der Versuch, fügen Sie diese zu .flowconfig (nach flow's documentiation) ist allerdings nicht arbeiten:

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

Dies funktioniert mit Webpacks Resolver (Komponenten laden und arbeiten), aber Flow gibt den folgenden Fehler:

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

Jede Hilfe wäre willkommen. Wie kann ich das beheben?

+0

Welche Ordnerstruktur beginnt mit dem Projektstammordner? – Nazim

+0

Jetzt mit einem Link aktualisiert. – Horv

+0

Danke. Haben Sie versucht, 'TextInput von 'TextInput/index' zu importieren; '? – Nazim

Antwort

1

Sie müssen die Einstellung module.system.node.resolve_dirname verwenden, die sich von der Einstellung include unterscheidet. Da Sie Webpack einen neuen Ort geben, an dem Sie Module finden können, müssen Sie Flow auch über diesen neuen Ort informieren.

Die Pfade sind relativ zum Speicherort Ihrer '.flowconfig' Datei.

+1

Ah klingt vernünftig, danke! Ich werde sehen, ob ich die Zeit in der kommenden Woche finde, um es zu überprüfen. :) – Horv