我正在将Vue与Vue CLI和Typescript一起使用。
我从vuex文件导入了接口,并将其用于mapState
类型注释。
但是eslint告诉我一个错误。
'State' is defined but never used. eslint(no-unused-vars)
代码
import { Component, Vue } from 'vue-property-decorator';
import { mapState } from 'vuex';
import { State } from '@/store/index';
@Component({
computed: mapState<State>({
cards: (state: State) => state.user.cards,
})
})
export default class Home extends Vue {}
.eslintrc.js
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/essential',
'eslint:recommended',
'@vue/typescript'
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'quotes': ['error', 'single'],
'semi': ['warn', 'always']
},
parserOptions: {
parser: '@typescript-eslint/parser'
}
};
我应该怎么办才能看到eslint错误?
答案 0 :(得分:0)
EsLint default no-unused-vars
有一个错误,会像您解释的那样重现。根据我的消息来源 [1] 应该像这样使用 @typescript-eslint/no-unused-vars
来修复它:
overrides: [
// Fix no-used-vars when importing ts types in .vue files
{
files: ["*.vue"],
rules: {
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': 'error'
}
}
]
来源 [2] 是关于同一主题的另一个问题。在那里,我的解决方案 [1] 是其中的一种选择。在 [2] 和 [3] 中,据说您需要像这样安装 @typescript-eslint/eslint-plugin
和 @typescript-eslint/parser
:
npm install --save-dev eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin
[1] https://github.com/vuejs/eslint-config-typescript/issues/14
[2] ESLint - Configuring "no-unused-vars" for TypeScript
[3] https://khalilstemmler.com/blogs/typescript/eslint-for-typescript/