我已经为我想要直接导入的常用组件的文件夹设置了我的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
任何帮助将不胜感激。 我该如何解决这个问题?
答案 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'文件的位置。