2014-03-31 64 views
1

我有示例代码:如何停止吞噬gulp-csslint错误?

var csslint = require('gulp-csslint'); 
gulp.task('csslint', function() { 
    return gulp.src(paths.css) 
     .pipe(csslint()) 
     .pipe(csslint.reporter()); 
}); 

有例如为:

[gulp] Starting 'csslint'... 
[gulp] 1 error found in /some/app.css 
[gulp] [L37:C29] Unknown property 'align'. Properties should be known (listed in CSS3 specification) or be a vendor-prefixed property. (known-properties) 
[gulp] Finished 'csslint' after 57 ms 

,并一饮而尽继续执行其它任务。 如何停止对csslint错误的吞噬?

回答

0

我读了一些你使用gulp-plumber的地方。试试看。

3

为了得到一口停止,再添加一个.pipe()调用,传递csslint.failReporter()

var csslint = require('gulp-csslint'); 
gulp.task('csslint', function() { 
    return gulp.src(paths.css) 
     .pipe(csslint()) 
     .pipe(csslint.reporter()) 
     .pipe(csslint.failReporter()); 
}); 
1

我管道工与gulpif插件 组合当我在观看模式下运行我在其他情况下使用水管工不。

plumber = require('gulp-plumber'), 
gulpif = require('gulp-if') 

... 
var cssTask = function (options) { 
    var minifyCSS = require('gulp-minify-css'), 
    less = require('gulp-less'), 
    src = cssDependencies; 

    src.push(codePath + '**/*.less'); 

    var run = function() { 
    var start = Date.now(); 

    console.log('Start building CSS/LESS bundle'); 

    gulp.src(src) 
     .pipe(gulpif(options.devBuild, plumber({ 
     errorHandler: onError 
     }))) 
     .pipe(concat('main.css')) 
     .pipe(less()) 
     .pipe(gulpif(options.minify, minifyCSS())) 
     .pipe(gulp.dest(buildPath + 'css')) 
     .pipe(gulpif(options.devBuild, browserSync.reload({stream:true}))) 
     .pipe(notify(function() { 
     console.log('END CSS/LESS built in ' + (Date.now() - start) + 'ms'); 
     })); 
    }; 

    run(); 

    if (options.watch) { 
    gulp.watch(src, run); 
    } 
}; 

function onError (err) { 
    console.log(err); 
}