这是一个类似于为什么eslint在命名-约定规则中将类视为变量?的问题,但这个问题已经很老了,我认为现在的处理并不一致。
当我静态导入一个类类型时,ESLint就会识别它,并应用类命名规则,例如:
import { PieGraphLayout } from import("../console.worker-types");但是,当我使用动态导入执行此操作时,会得到一个错误:
const { PieGraphLayout } = await import("../console.worker-types");导致:
变量名称
PieGraphLayout必须与下列格式之一匹配: camelCase eslint@typescript eslint/name-惯例
我必须取消这个警告,但是如果可能的话,我想修改我的ESLint规则。我目前的命名规则是:
"@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不再对这种动态导入发出警告,需要更改什么?
发布于 2022-10-27 08:21:59
您没有为variable实体定义格式,ESLint使用您的default选择器格式,即提供的配置中的camelCase。
若要为变量提供格式,请配置variable选择器。
在你的例子中,应该有这样的东西
{
"selector": "variable",
"format": [
"PascalCase"
]
},这里是所有可用选择器的文档。
https://stackoverflow.com/questions/72802475
复制相似问题