流似乎不尊重包括选项?

时间:2016-07-27 10:46:29

标签: reactjs flowtype

我已经为我想要直接导入的常用组件的文件夹设置了我的React项目。

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

Full folder structure from root

common中的每个文件夹都有一个index.jsx(以及其他资源,如样式等)和export default <name>语句。

所以我的webpack配置有以下配置:

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

允许直接导入:import TextInput from 'TextInput'

尝试将此添加到.flowconfig(根据flow's documentiation)是行不通的:

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

这适用于webpacks解析器(组件加载和工作),但flow会出现以下错误:

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

任何帮助将不胜感激。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您需要使用module.system.node.resolve_dirname设置,该设置与include设置不同。既然你在告诉Webpack一个新的地方找到模块,你还需要告诉Flow这个新的地方。

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

路径相对于'.flowconfig'文件的位置。