【问题标题】:Eslint --fix supresses errors but doesn't actually change fileEslint --fix 抑制错误但实际上并没有更改文件
【发布时间】:2019-07-27 10:45:58
【问题描述】:

我正在使用 gulp 和 eslint 来构建我的代码,当我运行 lint 时,我遇到了大量缩进/间距错误。我将修复标志添加到我的 gulpfile 中:

gulp.task('lint', function() {
    return gulp
        .src([config.tap.src])
        .pipe(eslint({
            fix:true,
            envs: ['jquery', 'browser']
          }
        ))
        .pipe(eslint.format())
        .pipe(eslint.failAfterError());
});

并且错误消失了。但是,我的文件似乎和以前一样有不正确的缩进;根据文档修复应该更改我的文件吗?我需要其他参数来修复这些更改吗?

例如我得到了错误:

12:1   error  Expected indentation of 6 spaces but found 12

但修复后缩进还是一样。 有人有解决办法吗?

【问题讨论】:

  • 您如何查看这些文件?
  • 一个名为 Atom 的 IDE。但这些变化也没有出现在 Github 拉取请求中——afaik git 总是显示缩进/间距变化
  • --fix 标志可能是正确的,Atom 只是美化了有问题的文件的视图。尝试使用记事本或 vi 等“简单”文本编辑器在应用修复之前和之后查看它们。
  • 我认为是这种情况,直到我看到我的 git PR 没有任何变化。不过,我只是使用记事本进行了测试——即使没有错误或警告,它也不能修复缩进。我检查了 master 分支(没有修复),运行gulp lint,在一行中有 4 个空格而不是 2 个时出错。切换到fix:true 分支,运行gulp lint,没有错误,仍然是 4 个空格

标签: gulp eslint


【解决方案1】:

事实证明,使用 eslint,您需要指定修复程序的保存位置。其他 SO 线程建议 gulp.dest('.')gulp.dest('./') 但这些为我创建了新文件夹,而不是覆盖原件。我在下面发布的内容对我有用。

return gulp
  .src([config.src])
  .pipe(eslint({ fix: true }))
  .pipe(eslint.format())
  .pipe(gulp.dest(file => file.base))
  .pipe(eslint.failAfterError());

【讨论】:

    猜你喜欢
    • 2020-08-27
    • 2015-11-13
    • 2013-08-31
    • 2015-08-22
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2018-12-18
    • 2015-11-05
    相关资源
    最近更新 更多