React native flow如何使用react native和option';all=true';?
我想使用选项“all=true”。但我不想解析node_modules文件夹 但我收到一个错误:无法解析模块react native 我的配置:React native flow如何使用react native和option';all=true';?,react-native,flowtype,React Native,Flowtype,我想使用选项“all=true”。但我不想解析node_modules文件夹 但我收到一个错误:无法解析模块react native 我的配置: [ignore] .*/node_modules/* [include] [libs] [lints] [options] all=true [strict] [untyped] .*/node_modules/react-native 另一个配置(也不起作用): 有什么想法吗 这与[ignore]配置部分不同,该部分导致模块解析器忽略
[ignore]
.*/node_modules/*
[include]
[libs]
[lints]
[options]
all=true
[strict]
[untyped]
.*/node_modules/react-native
另一个配置(也不起作用):
有什么想法吗
这与[ignore]配置部分不同,该部分导致模块解析器忽略匹配文件,这固有地使它们无法进行类型检查,也无法通过导入或require进行解析
通过将
*/node\u modules/*
放入流配置的[ignore]
部分,可以阻止流解析模块。您可以通过从[ignore]
部分删除节点\u modules
目录(或者如果您想继续忽略其他节点模块,只删除react native
包),或者为react native
创建[libs]
条目来解决此问题。我建议不要忽略所有节点模块,因为这将导致每个模块导入的流出现问题。在忽略中,您可以使用标记一些目录或文件以从忽略中排除代码>符号
我已经创建了一个PR,将其添加到flow docs中,该文档将对此进行更多解释,但仍在等待合并
但正如user11307804所提到的,您将得到所有其他DEP的未解决错误,因为您忽略了所有其他依赖项,因此无法解决它们
在这一点上,您应该使用which,它将通过从社区定义的类型中提取或存根来填补依赖关系树的所有空白
区别对待react native
的原因是,它是库本身内部流类型化的少数依赖项之一,而不是在流类型化社区包中维护
当您发现更多内部使用流类型的软件包时,您可以将它们添加到软件包列表中,以避免忽略。我不知道如何解决此问题。如果我删除它。*/Node_modules/*,然后我会得到一些错误,比如我的新配置:[ignore][include][libs][lints][options]all=true[strict]看起来像是
react native
有一个应该遵循的错误。似乎您的问题可能会随着针对*/*[.]android.js的[忽略]
部分而消失。您是如何创建项目的?我使用了npx react native init AwesomeProject
,并且在安装flow bin
之后,运行flow
命令时没有出现错误。是否添加了add=true选项?
[ignore]
.*/node_modules/*
[include]
[libs]
[lints]
[options]
module.system.node.resolve_dirname=node_modules
all=true
[strict]
[untyped]
.*/node_modules/react-native
[ignore]
.*/node_modules/*
!*/node_modules/react-native/.*
[include]
[libs]
[lints]
[options]
all=true
[strict]