首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量名“`PieGraphLayout`”必须匹配以下格式之一: camelCase eslint@typescript-eslint/ name -约定

变量名“`PieGraphLayout`”必须匹配以下格式之一: camelCase eslint@typescript-eslint/ name -约定
EN

Stack Overflow用户
提问于 2022-06-29 13:44:47
回答 1查看 1K关注 0票数 0

这是一个类似于为什么eslint在命名-约定规则中将类视为变量?的问题,但这个问题已经很老了,我认为现在的处理并不一致。

当我静态导入一个类类型时,ESLint就会识别它,并应用类命名规则,例如:

代码语言:javascript
复制
import { PieGraphLayout } from import("../console.worker-types");

但是,当我使用动态导入执行此操作时,会得到一个错误:

代码语言:javascript
复制
const { PieGraphLayout } = await import("../console.worker-types");

导致:

变量名称PieGraphLayout必须与下列格式之一匹配: camelCase eslint@typescript eslint/name-惯例

我必须取消这个警告,但是如果可能的话,我想修改我的ESLint规则。我目前的命名规则是:

代码语言:javascript
复制
       "@typescript-eslint/naming-convention": [
            "error",
            {
                "selector": "default",
                "format": [
                    "camelCase"
                ],
                "filter": {
                    "regex": "^_",
                    "match": false
                }
            },
            {
                "selector": "class",
                "format": [
                    "PascalCase"
                ]
            },
            {
                "selector": "typeParameter",
                "format": [
                    "PascalCase"
                ]
            },
            {
                "selector": "enum",
                "format": [
                    "PascalCase"
                ]
            },
            {
                "selector": "enumMember",
                "format": [
                    "PascalCase"
                ]
            },
            {
                "selector": "typeAlias",
                "format": [
                    "PascalCase"
                ]
            },
            {
                "selector": "interface",
                "format": [
                    "PascalCase"
                ],
                "prefix": [
                    "I"
                ]
            }
        ],

为了使ESLint不再对这种动态导入发出警告,需要更改什么?

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 08:21:59

您没有为variable实体定义格式,ESLint使用您的default选择器格式,即提供的配置中的camelCase

若要为变量提供格式,请配置variable选择器。

在你的例子中,应该有这样的东西

代码语言:javascript
复制
{
  "selector": "variable",
  "format": [
    "PascalCase"
  ]
},

这里是所有可用选择器的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72802475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档