当gulp-watch触发的任务失败时,如何捕获异常?

时间:2015-05-12 08:14:31

标签: javascript less gulp gulp-watch

我使用以下gulp任务将较少的转换为css。我启动它一次,在更少文件更改后更新css。

gulp.task('watch-less', function () {

  gulp.watch('app/styles/*.less', function (event) {

    try {
      var filename = event.path;
      gulp.src(filename)
        .pipe(sourcemaps.init())
        .pipe(less())
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('app/styles/'));

    } catch (e) {
      console.log(e);
    }
  });
});

问题:有时候,失败次数会减少并因

之类的错误消息而停止
events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: Unrecognised input in file 

显然我的try catch机制是错误的,我认为它可以保护管道建设步骤,但不能保护管道运行时间。

问:如何编写gulp-watch任务,以便在较少失败时继续工作?

1 个答案:

答案 0 :(得分:1)

要么参加活动

value

或使用gulp.src(filename) .pipe(sourcemaps.init()) .pipe(less()) .on('error', console.log) .pipe(sourcemaps.write()) .pipe(gulp.dest('app/styles/'));

gulp-plumber