如何在HTML脚本标记JS上运行Gulp ESLint

问题描述 投票:4回答:2

我已经使用以下代码在我的HTML脚本标记中设置了Gulp到ESLint javascript。

const eslint = require('gulp-eslint');

gulp.task('process-js', () => {
  const scripts = processInline();

  return gulp.src(['src/*.html'])
    .pipe(errorNotifier())
  
    .pipe(scripts.extract('script'))
    .pipe(eslint())
    .pipe(eslint.format())
    .pipe(eslint.failAfterError())
    .pipe(scripts.restore())

    .pipe(gulp.dest('dist'))
});

linter工作得很好,但似乎给了我与我的HTML文件不对应的行号,但是从脚本标签中提取的javascript的行号,我从未看到过。

如何获取HTML文件的行号?或者我可以更好地将我的HTML脚本javascript lint?

javascript gulp eslint
2个回答
0
投票

我知道这个问题已经快2年了,但我也遇到了这个问题。

这是我的解决方案:我使用gulp-html-extract来添加文件中的脚本标签内容。 https://github.com/FormidableLabs/gulp-html-extract

然后我将pad设置为true。

例如:

var gulp = require('gulp');
var extract = require("gulp-html-extract");
var eslint = require('gulp-eslint');

gulp.task("eslint:html", function () {
    return gulp
        .src("templates/**/*.tpl")
        .pipe(extract({
            sel: "script, code.javascript",
            pad: true,
        }))
        .pipe(eslint())
        .pipe(eslint.format())
        .pipe(eslint.failAfterError());
    });

我希望它有用。


-2
投票

你可以使用Atom,它有eslint插件。 http://oceanpad.github.io/2016/08/22/2016-08/To-Introduce-ESLint-to-Atom/

它表现得很好。

© www.soinside.com 2019 - 2024. All rights reserved.