1

我目前在我的一个 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 配置,或者至少对其进行相同的配置,但我无法找出到目前为止的情况。有任何想法吗?

4

0 回答 0