如何让 ESLint 识别类型导入

问题描述 投票:0回答:1

我正在开发一个大型 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 vuejs3 eslint typescript-eslint
1个回答
0
投票

您好,您是否尝试将此规则添加到您的配置中:

  '@typescript-eslint/consistent-type-imports': [
    'error',
    {
      fixStyle: 'inline-type-imports',
    },
  ],
© www.soinside.com 2019 - 2024. All rights reserved.