gulp-notify处理报错----gulp系列(二)

上一节,以less为例,入门了gulp,并为任务结构做了抽离。

 

 前端们,gulp该用起来了,简单的demo入门——gulp系列(一)

 

本节学习下gulp-notify,官方这样解释的:

gulp-notify :

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

 

目的:

我们用notify的功能主要有两点,显示报错信息和报错后不终止当前gulp任务。

拿系列(一)来说,less如果出现编译错误,就会报错然后终止任务,这时less修改正确后,你还得手动重启gulp任务。

 

开始:

现在,我们在系列(一)的基础上,新建(检出)一个分支,添加notify功能

 

1.安装gulp-notify: npm install --save-dev gulp-notify

 

2.在gulp文件夹里新建一个目录,名叫util,目录里新建文件handleErrors.js用来配置notify

                       

handleError.js代码如下:

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任务

 

还是那句话多看官方文档。

 

>>> github 地址,请选择  notify  分支<<<

 

posted @ 2015-06-04 17:38  子慕大诗人  阅读(4282)  评论(0编辑  收藏  举报