我有一个 js 文件夹,我想使用 gulp 处理它。但是,当存在语法错误时,gulp trace 的输出不会指定出现错误的文件。
现在我的 gulpfile 看起来像这样:
var gulp = require('gulp');
var debug = require('gulp-debug');
var esnext = require('gulp-esnext');
var es6ModuleTranspiler = require("gulp-es6-module-transpiler");
var bower = require('gulp-bower');
var jsValidate = require('gulp-jsvalidate');
var paths = {
scripts: ['js/**/*.js'],
js: 'public/js'
}
gulp.task('scripts', function () {
gulp
.src(paths.scripts)
.pipe(esnext())
.pipe(es6ModuleTranspiler({
type: "amd",
}))
.pipe(gulp.dest(paths.js));
});
gulp.task('validate', function () {
gulp
.src(paths.scripts)
.pipe(jsValidate());
});
ulp.task('bower', function() {
bower()
.pipe(gulp.dest(paths.js))
});
gulp.task('watch', function() {
gulp.watch(paths.scripts, ['scripts']);
});
// The default task (called when you run `gulp` from cli)
gulp.task('default', ['validate', 'bower', 'scripts', 'watch']);
如您所见,我编写了 validate 任务以通过 scripts.path 管道 gulp-jsvalidate。目标是检测语法错误并找出哪些文件存在错误。
但是,当我运行 gulp 时,它会在以下跟踪中抛出错误:
Error: gulp-jsvalidate: Line 1: Unexpected identifier
我不介意切换到其他插件。
最佳答案
您可以在管道之前添加 gulp-debug(由同一作者编写)以显示当前正在处理的文件的名称:https://github.com/sindresorhus/gulp-debug
var debug = require('gulp-debug');
gulp.task('validate', function () {
gulp
.src(paths.scripts)
.pipe(debug())
.pipe(jsValidate());
});
关于javascript - (gulp-jsvalidate) 实现语法错误检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965742/