如果第一个任务失败,则后续gulp任务失败

时间:2015-01-29 19:30:11

标签: gulp jshint

我的gulpfile.js中的默认任务看起来像这样:

gulp.task('default', [
    'jshint',
    ...
]);

我想做的是,如果任务jshint返回警告,则其余任务不会执行。换句话说,“快速失败。”

这可能吗?在我看来,default下的任务是异步运行,无序 - 不是串行。

1 个答案:

答案 0 :(得分:2)

你需要做两件事:

  • fail报告者与jshint一起使用,使其抛出错误而非警告。
  • 让您的其他任务取决于jshint任务,以便jshint始终先运行。
gulp.task('default', ['js']);

gulp.task('jshint', function() {
  return gulp.src('*.js')
    .pipe(jshint(opts))
    .pipe(jshint.reporter('default'))
    .pipe(jshint.reporter('fail'));
});

gulp.task('js', ['jshint'], function() {
  //somethin
});