本节学习下gulp-notify,官方这样解释的:html
gulp plugin to send messages based on Vinyl Files or Errors to Mac OS X, Linux or Windows using the node-notifier module. Fallbacks to Growl or simply logging前端
目的:node
咱们用notify的功能主要有两点,显示报错信息和报错后不终止当前gulp任务。git
拿系列(一)来讲,less若是出现编译错误,就会报错而后终止任务,这时less修改正确后,你还得手动重启gulp任务。github
开始:npm
如今,咱们在系列(一)的基础上,新建(检出)一个分支,添加notify功能gulp
1.安装gulp-notify: npm install --save-dev gulp-notifyapp
2.在gulp文件夹里新建一个目录,名叫util,目录里新建文件handleErrors.js用来配置notifyless
handleError.js代码以下:post
var notify = require("gulp-notify"); module.exports = function(){ var args = Array.prototype.slice.call(arguments); notify.onError({ title: 'compile error', message: '<%=error.message %>' }).apply(this, args);//替换为当前对象 this.emit();//提交 }
3.在less中引用,如今将less.js修改成以下:
var gulp = require('gulp'); var less = require('gulp-less'); var config = require('../config').less; var handleErrors = require('../util/handleErrors'); gulp.task('less', function(){ return gulp.src(config.src) //less源文件 .pipe(less(config.settings)) //执行编译 .on('error', handleErrors) //交给notify处理错误 .pipe(gulp.dest(config.dest)) //输出目录 });
最终:
若是出现less错误,便会输出错误信息并继续gulp任务
仍是那句话多看官方文档。