javascript - (gulp-jsvalidate) 实现语法错误检测?

标签 javascript gulp

我有一个 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/

相关文章:

Chrome 控制台中的 JavaScript setTimeout()

javascript - 将过滤器选择调整/更新为 Shiny 的 DT 数据表中已应用的过滤器

visual-studio-2013 - .NET 堆栈中的任务运行器?

javascript - 如何为 gulp 任务编写 Auto 文档?

javascript - 输入类型 ="text"表单提交时忽略最大长度验证

javascript - 无法发送多个表单字段 formdata dropzone.js

javascript - 尝试放置新项目时出现 DynamoDB InvalidParameterType 错误

javascript - 使用 gulp 时显示 javascript 错误

css - gulp 任务不执行 concat

javascript - JsHint - 隐藏此消息 : ES5 option is now set per default