.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/.*