为什么React Native的.flowconfig会忽略.android.js文件?

时间:2017-04-24 06:12:31

标签: javascript android react-native

我想在我的React Native项目中测试流程。我跑了流,发现它对Android文件没有影响。我在.flowconfig中找到了下面给出的代码:

[ignore]

# We fork some components by platform.
.*/*.web.js
.*/*.android.js

为什么React Native团队会忽略这些文件?我无法找到关于其他地方的更多信息。我知道我可以编辑和流程也会开始考虑Android文件,但我不确定它是否正确。例如,这是 fabergua 对与之相关的问题Flow doesn't recognize platform-specific react-native files发表评论的内容:

  

@mhollweck:React Native的默认.flowconfig设置为忽略   所有.android.js文件。你可以通过改变来解决这个问题    - 。 / [。] android.js到。 / node_modules /. / * [。] android.js在项目的.flowconfig中。

但是,我们应该采取这样的解决方法吗?当我们通过 react-native-git-upgrade 升级项目时,它不会搞乱项目吗?

2 个答案:

答案 0 :(得分:2)

我一直以为他们默认忽略了Android,因为通常你更喜欢Flow在特定平台的模块上运行,而iOS是React Native的原始平台。假设您尝试为myFunction.ios.jsmyFunction.android.js中定义的特定函数“跳转到定义”。忽略*.android.js后,Flow会一直跳转到*.ios.js个文件。因此,如果您的应用主要关注Android,我会将忽略切换为*.ios.js

答案 1 :(得分:0)

默认情况下会忽略

*.android.js个文件以任意选择一个平台,但还需要以下列方式运行流程:

[ignore]
; We fork some components by platform
.*/*[.]ios.js

...

[options]
module.file_ext=.native.js
module.file_ext=.android.js
module.file_ext=.js