跳至主要内容

.flowconfig [ignore]

.flowconfig 文件中的 [ignore] 部分告诉 Flow 在类型检查代码时忽略与指定正则表达式匹配的文件。默认情况下,不会忽略任何内容。

注意事项

  1. 这些是 OCaml 正则表达式
  2. 这些正则表达式与绝对路径匹配。它们可能应该以 .* 开头
  3. 忽略操作在包含操作之后处理。如果你同时包含和忽略一个文件,它将被忽略。

一个示例 [ignore] 部分可能如下所示

[ignore]
.*/__tests__/.*
.*/src/\(foo\|bar\)/.*
.*\.ignore\.js

[ignore] 部分将忽略

  1. 名为 __tests__ 的目录下的任何文件或目录
  2. .*/src/foo.*/src/bar 下的任何文件或目录
  3. 任何以 .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/.*