所以,我在.ts文件中有这段代码:
import {MicroEventInterface} from '../Interfaces';
export default class MicroEvent implements MicroEventInterface {
// code
并且ESLint抛出此错误:
我在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
视为实际用途。
我相信解决这个问题的正确方法是声明你的界面。
declare interface Foo {}
在一个单独的文件中以及其他类型,例如Foo.d.ts
然后正确配置您的typescript编译器以获取所有声明。
见:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
部分:@types,typeRoots和类型
之后,您将能够使用所有类型声明和接口,而无需显式导入。