2016-12-09 7 views
0

나는이 작동하지 않는 것lint가 Gulp로 실패하면 작업을 실행하지 마십시오.

gulp.task('checkScssSyntax', function() { 
    return gulp.src(scssFiles) 
     .pipe(sassLint()) 
     .pipe(sassLint.format()); 
}); 

gulp.task('checkJavascriptSyntax', function() { 
    var jsStream = gulp.src(jsFiles); 
    return jsStream.pipe(jsHint()) 
    .pipe(jsHint.reporter('jshint-stylish')); 
}); 

gulp.task('default', function() { 
    runSequence(['checkJavascriptSyntax', 'checkScssSyntax'], function(error) { 
     if (error) { 
     console.log(error); 
     } else { 
     runSequence('compileJS', 'compileCSS', 'watch'); 
     } 
    }); 
}); 

몇 꿀꺽 작업을 ...있다. Gulp는 상황에 관계없이 두 번째로 runSequence을 실행합니다.

경고가없고 구문 검사 중 하나라도 오류가없는 경우에만 Gulp가 두 번째 작업 순서를 실행하기를 바랍니다. 나는 또한 콘솔에 lint가 출력하는 것 이외의 것을 콘솔에 출력하는 것을 피하고자한다.

어떻게 수행 할 수 있습니까?

답변

1

checkScssSyntaxcheckJavascriptSyntax 작업은 오류 이벤트를 발생시키지 않으므로 run-sequence은 오류 이벤트 중 하나가 실패한 것을 알지 못합니다. gulp-sass-lintgulp-jshint은 모두 기본적으로 오류 이벤트를 발생시키지 않지만 그렇게하도록 지시하는 함수를 제공합니다. 당신의 checkScssSyntax 작업 사용 sassLint.failOnError()에서

:

checkJavascriptSyntax 작업 사용 jsHint.reporter('fail')에서
gulp.task('checkScssSyntax', function() { 
    return gulp.src(scssFiles) 
     .pipe(sassLint()) 
     .pipe(sassLint.format()) 
     .pipe(sassLint.failOnError()); 
}); 

:

gulp.task('checkJavascriptSyntax', function() { 
    var jsStream = gulp.src(jsFiles); 
    return jsStream.pipe(jsHint()) 
    .pipe(jsHint.reporter('jshint-stylish')) 
    .pipe(jsHint.reporter('fail')); 
}); 

나는 또한 어떤 린터 이외의 콘솔에 아무 것도 출력되지 않도록하고 싶습니다 콘솔에 인쇄

꿀꺽 거리는 소리는 이며 모든 꿀꺽 꿀꺽 거리는 것을 막을 수 있습니다.

gulp --silent