2015-05-28 39 views
0

我不知道爲什麼我使用吞嚥水管工時我的Sass任務會中斷。我的薩斯任務看起來是這樣的:吞嚥水管工打破無助管

gulp.task('sass', function() { 
    return gulp.src(['./src/scss/*.scss', './src/scss/**/*.scss']) 
    .pipe(plumber()) 
    .pipe(sass({ 
     includePaths : [ 
     './lib/basscss/scss', 
     './lib/fluidbox/css' 
     ], 
     outputStyle: 'expanded' 
    })) 
    .pipe(prefix({ 
     browsers: ['last 2 versions'], 
     cascade: false 
    })) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest('./_site/public/css')) 
    .pipe(gzip()) 
    .pipe(gulp.dest('./_site/public/css')) 
    .pipe(reload({stream: true})) 
}); 

當我故意做出錯誤在我的Sass文件(縣),我得到這個錯誤:

Error in plugin 'gulp-sass' 
Message: 
    src/scss/components/_cover.scss 
    30:3 property "background-i" must be followed by a ':' 
Details: 
    column: 3 
    line: 30 
    file: /Volumes/Boba/Work/Sites/realph/src/scss/components/_cover.scss 
    status: 1 
    messageFormatted: src/scss/components/_cover.scss 
    30:3 property "background-i" must be followed by a ':' 

這就是它 - 它打破了任務。我必須放棄吞噬任務並從頂部重新運行它。

任何想法爲什麼會發生這種情況?任何幫助表示讚賞。提前致謝!

回答

2

這是因爲您正在運行的任務尚未結束。當使用handleError選項發生錯誤時,您需要告訴水管工結束任務。這裏是我的管道工配置:

.pipe(plumber({ 
    errorHandler: function(err) { 
    // display the error message 
    console.log(err); 
    // end the errored task 
    this.emit('end') } 
})) 

希望這有助於

+0

這真是棒極了!但我認爲水管工默認處理錯誤? – realph