4

我使用@typescript-eslint插件使用 eslint 向我的 TypeScript 代码添加规则。

我启用的规则之一是camelcase

"@typescript-eslint/camelcase": ["error", { "properties": "always" }]

它允许我规范化我的变量和接口名称。

问题是标准的 JSON 格式使用snake_case 约定来命名它们的标识符。所以我所有的 API 请求响应都使用了 snake_case。

在这种情况下,我必须像这样使用 snake_case 声明接口:

interface UserResponse {
  id: number
  dark_mode: boolean
  status_code: string
}

所以我的问题是:有没有办法为接口结束宽度中定义的标识符禁用此规则Response?所以我的UserResponse界面中没有 lint 错误。

@typescript-eslint 提供了一个有趣的参数允许禁用匹配正则表达式的特定名称的规则:

/* @typescript-eslint/camelcase: ["error", {allow: ["Response$"]}] */

interface Foo_Bar_Response {
  ...
}

在这里,linter 不会触发 snake_case 格式,Foo_Bar_Response因为它以 word 结尾Response

但这里它只适用于接口本身的名称,而不适用于这些子标识符的名称。

知道我们如何才能完成这项工作吗?

4

1 回答 1

0

它是 github https://github.com/typescript-eslint/typescript-eslint/issues/2077上的一个已解决问题,您可以尝试修复不推荐的代码库。您还可以尝试使用以下选项禁用:基于项目的骆驼变种或接口道具的用例https://eslint.org/docs/rules/camelcase

于 2020-07-25T07:55:21.040 回答