为什么ESLint会为TypeScript接口抛出'no-unused-vars'?

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

所以,我在.ts文件中有这段代码:

import {MicroEventInterface} from '../Interfaces';

export default class MicroEvent implements MicroEventInterface {

// code

并且ESLint抛出此错误:

error

我在ESLint中为TypeScript配置了这个配置:

typescript: {
    extends: [
        'plugin:@private/private/react' // private rep with React config
    ],
    parser: '@typescript-eslint/parser',
    plugins: [
        '@typescript-eslint',
        'import'
    ],
    settings: {
        'import/resolver': {
            'node': {
                'extensions': [
                    '.js',
                    '.jsx',
                    '.ts',
                    '.tsx'
                ],
                'moduleDirectory': [
                    'node_modules/',
                    'src/'
                ]
            }
        },
        react: {
            createClass: 'createClass',
            pragma: 'React',
            version: '0.14.9'
        }
    }
}

所以,一切似乎都很好,但我无法克服这个错误。

有什么建议?

谢谢!

UPD:

看起来如果我console.log( --- , MicroEventInterface);错误消失。我认为,ESLint不会将implements视为实际用途。

typescript eslint
1个回答
1
投票

我相信解决这个问题的正确方法是声明你的界面。

declare interface Foo {}

在一个单独的文件中以及其他类型,例如Foo.d.ts

然后正确配置您的typescript编译器以获取所有声明。

见:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html

部分:@types,typeRoots和类型

之后,您将能够使用所有类型声明和接口,而无需显式导入。

© www.soinside.com 2019 - 2024. All rights reserved.