我已经使用以下代码在我的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?
我知道这个问题已经快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());
});
我希望它有用。
你可以使用Atom,它有eslint插件。 http://oceanpad.github.io/2016/08/22/2016-08/To-Introduce-ESLint-to-Atom/
它表现得很好。