gulp-less解决遇到错误停止执行task

来龙去脉

在用less+gulp开发时,有时候代码还没写完整,不小心保存了一下,然后gulp就开始执行gulp-less的task。
但是代码是有问题的,这时候会输出一个Potentially unhandled rejection,告诉你哪里出问题了,然后,
然后就挂了!!pipe就会停止输入数据,整个task就停止了。
特别是我用Sublime,设置了失去焦点自动保存,很容易出现这个问题。

解决办法

gulp-plumber插件解决了这个问题。
插件作者的想法 Error management in gulp

使用方法:

先npm下载下来

1
npm install gulp-plumber --save-dev

在gulpfile.js中,引入gulp-plumber,然后在处理less的task中加上:

1
2
3
4
5
6
7
8
9
var plumber = require('gulp-plumber');

gulp.task('less', function(){
return gulp.src('./less/*.less')
.pipe(plumber()) //加上这句
.pipe(less())
.pipe(gulp.dest('./css'))
.pipe(browserSync.stream());
});

参考