我正在开发一个大型 Vue3 应用程序,最近添加了 ESLint + lint-staged。
ESlint 给我任何类型导入的解析器错误。
所以像这样的导入就可以了:
import { Something } from 'whatever';
但是像这样的导入会引发 ESLint 解析器错误:
import type { Something } from 'whatever';
我正在使用带有新平面配置的 ESLint 9.12.0、typescript-eslint 8.15.0 和 TypeScript 5.6.3
类型导入并不是特别新,所以我有点惊讶这并不能“正常工作”。
这是我的 ESLint 配置供参考:
export default tseslint.config(
eslint.configs.recommended,
tseslint.configs.recommended,
...pluginVue.configs['flat/recommended'],
);
感谢您的否决,但没有解释原因。我猜现在没有人会看到这个问题了......
FWIW,我尝试使用
tsParser
中的 @typescript-eslint/parser
并将其添加到我的配置中,正如另一个具有类似(但不相同)解析器相关 ESLint 问题的 SO 问题的答案所建议的:
languageOptions: {
parser: tsParser,
parserOptions: {
ecmaFeatures: {
modules: true
},
ecmaVersion: 'latest',
project: './tsconfig.json',
extraFileExtensions: ['.vue']
},
},
但我恢复了这一点,因为它似乎也不起作用 - 每个 .vue 都不再被检查了。
这似乎也没有必要 - 为什么 tseslint 的默认配置不包含 tsparser..?
我使用的配置几乎是官方 typescript-eslint 文档建议的默认配置
您好,您是否尝试将此规则添加到您的配置中:
'@typescript-eslint/consistent-type-imports': [
'error',
{
fixStyle: 'inline-type-imports',
},
],