跳至主要内容

Flowlint 注释

您可以使用 flowlint 注释在文件中指定更细粒度的代码风格检查设置。这些注释有三种形式

在所有形式中,单词之间的空格和星号都会被忽略,允许灵活的格式。

flowlint

基本的 flowlint 注释采用逗号分隔的 rule:severity 对列表,并将这些设置应用于源文件的剩余部分,直到被覆盖。这有三个主要目的:在代码块上应用设置、在整个文件上应用设置以及在代码行的一部分上应用设置。

在代码块上应用设置:一对 flowlint 注释可用于在代码块上应用特定设置。例如,要禁用在类型导入块上进行的 untyped-type-import 代码风格检查,将如下所示

import type {
// flowlint untyped-type-import:off
Foo,
Bar,
Baz,
// flowlint untyped-type-import:error
} from './untyped.js';

在整个文件上应用设置:flowlint 注释不必具有匹配的注释来形成代码块。不匹配的注释只是将其设置应用于文件的剩余部分。例如,您可以使用它来抑制特定文件中所有 sketchy-null-check 代码风格检查

// flowlint sketchy-null:off
...

在代码行的一部分上应用设置:flowlint 应用的设置从注释本身开始并结束。这意味着您可以执行以下操作

function foo(a: ?boolean, b: ?boolean) {
if (/* flowlint sketchy-null-bool:off */a/* flowlint sketchy-null-bool:warn */ && b) {
...
} else {
...
}
}

如果您希望比基于行的注释获得更精细的控制。

flowlint-line

flowlint-line 注释的工作原理类似于 flowlint 注释,只是它只将其设置应用于当前行,而不是应用于文件的剩余部分。flowlint-line 注释的主要用途是抑制特定行上的代码风格检查

function foo(x: ?boolean) {
if (x) { // flowlint-line sketchy-null-bool:off
...
} else {
...
}
}

flowlint-next-line

flowlint-next-line 的工作原理与 flowlint-line 相同,只是它将其设置应用于下一行而不是当前行

function foo(x: ?boolean) {
// flowlint-next-line sketchy-null-bool:off
if (x) {
...
} else {
...
}
}