我目前在我的一个 vue 项目中使用 eslint,虽然我现在真的很喜欢 linter,但它让我发疯。我有以下行
this.someIndex = this.someObject.someKey.length % this.someIndex;
linter首先不断变化
this.someIndex =
this.someObject.someKey.length % this.someIndex;
然后在输出中告诉我
错误:'='之前或之后不应有换行符
感觉好像有太多的 linter 设置相互冲突(在该错误之前,我还让 linter 在保存时删除了悬空逗号,然后显示它想要悬空逗号的错误,这在 .eslintrc.js 中很容易修复但仍然不应该发生)
目前我的 .eslintrc.js 看起来像这样
知道出了什么问题吗?
module.exports = {
root: true,
env: {
node: true,
},
extends: [
'plugin:vue/essential',
'@vue/airbnb',
],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'comma-dangle': [1, {
'arrays': 'never',
'objects': 'never',
'imports': 'never',
'exports': 'never',
'functions': 'ignore'
}],
'quotes': [0, 'double'],
'linebreak-style': [0, 'unix']
},
parserOptions: {
parser: 'babel-eslint',
},
};
更新
经过一番挖掘后,我发现 Vue 的 Vetur 扩展导致的冲突对保存时的文件进行了更改,然后与 eslint 设置发生冲突。因此,解决方案是让 Vetur 也使用根文件夹中的 eslint 配置,或者至少对其进行相同的配置,但我无法找出到目前为止的情况。有任何想法吗?