2015-12-08 31 views
0

我想要做的只是运行console.log,如果所有三个任务都能成功完成。目前,js lint项目是唯一似乎内置了功能的项目,如果发生错误就会发生。只有在所有默认项目都没有错误的情况下才能运行Gulp任务?

var gulp = require('gulp'); 
var csslint = require('gulp-csslint'); 
var eslint = require('gulp-eslint'); 
var htmlhint = require('gulp-htmlhint'); 

gulp.task('default', ['lint', 'css', 'html'], function() { 
    console.log('hi'); 
}); 

gulp.task('css', function() { 
    gulp.src('*.css') 
    .pipe(csslint()) 
    .pipe(csslint.reporter()); 
}); 

gulp.task('lint', function() { 
    return gulp.src(['**/*.js', '!node_modules/**']) 
    .pipe(eslint()) 
    .pipe(eslint.format()) 
    .pipe(eslint.result(function(result) { 
     console.log('ESLint result: ' + result.filePath); 
     console.log('# Messages: ' + result.messages.length); 
     console.log('# Warnings: ' + result.warningCount); 
     console.log('# Errors: ' + result.errorCount); 
    })) 
    .pipe(eslint.failAfterError()); 
}); 

gulp.task('html', function() { 
    return gulp.src('*.html') 
    .pipe(htmlhint()) 
    .pipe(htmlhint.reporter()); 
}); 

回答

1

添加fail的CSS棉短绒的记者致电,.pipe(csslint.reporter('fail'));并使用HTML棉短绒的failReport htmlhint.failReporter() VS .pipe(htmlhint.reporter());

所以在全:

var gulp = require('gulp'); 
var csslint = require('gulp-csslint'); 
var eslint = require('gulp-eslint'); 
var htmlhint = require('gulp-htmlhint'); 

gulp.task('default', ['lint', 'css', 'html'], function() { 
    console.log('hi'); 
}); 

gulp.task('css', function() { 
    gulp.src('*.css') 
    .pipe(csslint()) 
    .pipe(csslint.reporter('fail')); 
}); 

gulp.task('lint', function() { 
    return gulp.src(['**/*.js', '!node_modules/**']) 
    .pipe(eslint()) 
    .pipe(eslint.format()) 
    .pipe(eslint.result(function(result) { 
     console.log('ESLint result: ' + result.filePath); 
     console.log('# Messages: ' + result.messages.length); 
     console.log('# Warnings: ' + result.warningCount); 
     console.log('# Errors: ' + result.errorCount); 
    })) 
    .pipe(eslint.failAfterError()); 
}); 

gulp.task('html', function() { 
    return gulp.src('*.html') 
    .pipe(htmlhint()) 
    .pipe(htmlhint.failReporter()); 
}); 
相关问题