Gulp - SCSS Lint - 如果linting失败,请不要编译SCSS

时间:2015-07-30 08:44:02

标签: gulp lint gulp-watch gulp-sass

只是想知道是否有人可以帮助我完成我的Gulp设置。目前我正在使用gulp-sass和gulp-scss-lint进行监视任务。我想要发生的是,当保存scss文件以使linting任务完全运行时,如果为scss文件抛出任何错误或警告而不进行编译并让watch继续运行。

目前我似乎有这个错误,但没有警告,仍然编译样式表。

Dim worksheet As Worksheet
For intIndex As Integer = 1 To workbook.Sheets.Count
    worksheet = workbook.Sheets(intIndex)
    If worksheet.Name.Equals(THE_SHEETNAME) Then
        'returns true
        Exit For
    End If
Next

1 个答案:

答案 0 :(得分:0)

似乎@juanfran已于2015年在GitHub上回答了这个问题。我将在此重新发布。

1)使用 gulp-if ,您可以添加任何您喜欢的条件。

var sass = require('gulp-sass');
var gulpif = require('gulp-if');
var scssLint = require('gulp-scss-lint')

gulp.task('lint', function() {
    var condition = function(file) {
        return !(file.scssLint.errors || file.scssLint.warnings);
    };

    return gulp.src('**/*.scss')
        .pipe(scssLint())
        .pipe(gulpif(condition, sass()));
});

2)另一个更具体的选择是使用失败记者,如果出现任何错误或警告,将会失败

gulp.task('scss-lint', function() {
    return gulp.src('**/*.scss')
        .pipe(scssLint())
        .pipe(scssLint.failReporter());
});

gulp.task('sass', ['scss-lint'], function() {
    return gulp.src('**/*.scss')
        .pipe(scss());
});