.flowconfig [ignore]
.flowconfig 文件中的 [ignore] 部分告诉 Flow 在类型检查代码时忽略与指定正则表达式匹配的文件。默认情况下,不会忽略任何内容。
注意事项
- 这些是 OCaml 正则表达式。
- 这些正则表达式与绝对路径匹配。它们可能应该以
.*开头 - 忽略操作在包含操作之后处理。如果你同时包含和忽略一个文件,它将被忽略。
一个示例 [ignore] 部分可能如下所示
[ignore]
.*/__tests__/.*
.*/src/\(foo\|bar\)/.*
.*\.ignore\.js
此 [ignore] 部分将忽略
- 名为
__tests__的目录下的任何文件或目录 .*/src/foo或.*/src/bar下的任何文件或目录- 任何以
.ignore.js扩展名结尾的文件
你可以在正则表达式中使用 <PROJECT_ROOT> 占位符。在运行时,Flow 将把占位符视为项目根目录的绝对路径。这对于编写相对而不是绝对的正则表达式很有用。
例如,你可以编写
[ignore]
<PROJECT_ROOT>/__tests__/.*
这将忽略项目根目录下名为 __tests__/ 的目录下的任何文件或目录。但是,与前面的示例中的 .*/__tests__/.* 不同,它不会忽略名为 __tests__/ 的其他目录下的文件或目录,例如 src/__tests__/。
排除项
有时你可能希望忽略目录中的所有文件,除了几个文件。可选的前缀 "!" 可以否定模式,这将有助于你。使用此方法,任何被先前模式排除的匹配文件将再次被包含。
[ignore]
<PROJECT_ROOT>/node_modules/.*
!<PROJECT_ROOT>/node_modules/not-ignored-package-A/.*
!<PROJECT_ROOT>/node_modules/not-ignored-package-B/.*