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  分支<<<

时间: 2024-11-02 06:52:17

gulp-notify处理报错----gulp系列(二)的相关文章

freemarker报错之十二

1.错误描述 六月 04, 2014 10:31:47 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template processing error: "Expected number, sequence, or string. maps evaluated instead to freemarker.core.HashLiteral$SequenceHash on line 11, column 12 in map.f

gulp启动服务报错

1.mongodb数据库没启动 2.nodemon没有安装

freemarker写select组件报错总结(二)

1.错误描写叙述 六月 25, 2014 11:32:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template processing error: "Macro select has no such argument: name" Macro select has no such argument: name The problematic instruction: ---------- ==>

mysql-5.7.21版本一直报错ERROR 1067 (42000)!

网上很多教程都是错误的,说改什么配置文件?都是错误的!唯有这样子是正确的,分享给你们.如觉得有用,请点赞 一,报错上图: 二.修改数据库配置 三.重启数据库,并重启进入数据库 四.重新插入数据 看到已经成功 原文地址:http://blog.51cto.com/12131824/2145054

Oracle 11g 间隔分区,导出报错 EXP-00006

一.描述前天系统对个别表进行分区,采用间隔分区,第二天凌晨exp备份间隔分区表报错,报错关键字EXP-00006 二.现象 When exporting a composite. interval, or system partitioned table using conventional export utility, it fails with EXP-6 and EXP-0 errors: EXP-00006: internal inconsistency errorEXP-00000:

node.js npm -v 报错 Callback called more than once.

(一) 报错展示 (二) 解决方案 用记事本 打开安装目录下的npm.cmd文件 将标蓝的这行删掉 (三) 原因分析   字面意思就是  多次调用回掉      看了网上的好多分析,感觉也解释的不是很清楚.我现在也不是很明白为什么 !! 如果有大佬明白希望能留言学习学习!! 之前我的是好用的,不知道为什么突然就报错了!! 成都!! 原文地址:https://www.cnblogs.com/misscai/p/11561075.html

Maven 项目打包及启动时的报错解决

目录 一.报错:xxx.jar中没有主清单属性 方式一.手动修改MANIFEST.MF 文件配置 方式二.使用插件并配置主函数 二.报错:Invalid or corrupt jarfile xxx.jar 分析 三.报错:java.lang.NoClassDefFoundError 分析 解决 四.知识点 一.报错:xxx.jar中没有主清单属性 方式一.手动修改MANIFEST.MF 文件配置 通过 7z 等压缩工具打开 jar 包 修改 META-INF 目录中的 MANIFEST.MF

gulp 报&quot;import gulp from &#39;gulp&#39;&quot;的错解决方案

在执行gulp serve时 gulp serve 当前的node版本不支持es6新语法 所以需要一个编译转换器----babel Babel是一个转换编译器,它能将ES6转换成可以在浏览器中运行的代码. 第一步:如果在package.json中增加一个 第二步:新建一个文件.babelrc 把下面这段文本添加到.babelrc文件中去 { "env": { "production": { "plugins": ["transform-

gulp报错160

gulp报错: 这种提示,说明端口被占用,并且要改端口号,首先,我需要把Apache服务器关掉, 然后在gulpfile.js里: 把8080的端口号加进去.就解决了