禁用带有内联注释的 typescript-eslint 插件规则(no-explicit-any)

cha*_*ham 51 eslint typescript-eslint

我有一个来自 @typescript-eslint 插件的 eslint 错误。

没想到。指定不同的 type.eslint(@typescript-eslint/no-explicit-any)

这是无隐含任何规则。仅在一个文件中,我想通过在文件顶部添加注释来禁用该规则。

如果我只是尝试标准的 eslint 禁用,编译器会抱怨:

/* eslint-disable  no-explicit-any */
Run Code Online (Sandbox Code Playgroud)

未找到规则“no-explicit-any”的定义。eslint(no-explicit-any)

我试图找到有关 TS 插件的内联规则的文档,但运气不佳。我也尝试过这样的各种组合:

/* typescript-eslint-disable no-implicit-any */
/* typescript-eslint: disable no-implicit-any */
/* typescript-eslint: disable noImplicitAny */
/* typescript-eslint-disable @typescript-eslint/no-implicit-any */
Run Code Online (Sandbox Code Playgroud)

没有 eslint 投诉,但错误不会消失。

如何禁用 typescript-eslint 规则?

小智 78

将此添加到 .eslintrc (tslintrc) 文件中:

rules: {
    "@typescript-eslint/no-explicit-any": "off"
  },
Run Code Online (Sandbox Code Playgroud)

  • OP 写道“在一个文件中,我想通过在文件顶部的注释来禁用该规则。” (8认同)
  • 这不是OP请求 (5认同)
  • 可能需要重新启动 IDE (5认同)

cha*_*ham 59

正确的语法是这样的:

/* eslint-disable  @typescript-eslint/no-explicit-any */
Run Code Online (Sandbox Code Playgroud)

这样你就可以通过 eslint 直接引用插件。

  • 这应该是公认的答案,因为它直接解决了 OP 关于在文件顶部使用的问题,但这里的其他查看者可能需要注意,除非您*真的*想要禁用整个文件的 linting,否则您可能想要使用[其他答案](/sf/answers/4666135841/)。 (7认同)

小智 10

如果您试图仅在下一行(而不是整个文件)禁用规则,则直接在要忽略的行上方添加此注释将起作用:

// eslint-disable-next-line  @typescript-eslint/no-explicit-any
Run Code Online (Sandbox Code Playgroud)

  • 您还可以在同一行上禁用,例如 ` // eslint-disable-line @typescript-eslint/no-explicit-any -- 可选原因在此处` (2认同)