2014-03-31 63 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); 
}