gulp watch sass编译出错直接中段exit

Gulp目前错误处理有点问题,一发生错误, gulp watch这个进程就直接挂掉了。需要你手动去重启。在写sass之类有时难以避免出现一些小错误。解决方式如下:

核心代码就是在sass之后加上.on('error', sass.logError)

以sass为例

/**
 * gulp配置
 * 安装插件实例: 
 * npm install --save-dev gulp-uglify --registry=http://r.cnpmjs.org
 * 国内淘宝源:http://registry.npm.taobao.org
 * @author  yoyo
 */
var gulp = require('gulp');

// sass编译成css
var sass = require('gulp-sass');

// css自动加前缀
var autoprefixer = require('gulp-autoprefixer');

// plumber处理出错中段
var plumber = require('gulp-plumber');

// sass编译成css并加前缀
gulp.task('sassToCss', function () {
    return gulp.src('sass/**/*.scss')
        .pipe(plumber())
        .pipe(sass({outputStyle: 'expanded'}))
        // 一定要加error,防止直接gulp watch中段不往下执行
        .on('error', sass.logError)
        .pipe(autoprefixer())
        .pipe(gulp.dest('./css'));
});

gulp.task('watch', function() {
  gulp.watch(['sass/**/*.scss'], ['sassToCss']);
});

Yoyo 「二是一种不三不四的态度」

男 1990.12.22 429660248@qq.com

发表评论

电子邮件地址不会被公开。 必填项已用*标注