Gulp中的Lint SASS在编译之前

时间:2015-12-10 11:58:46

标签: sass gulp lint

我是Gulp的新手,我在编译它们之前尝试lint scss文件,以避免gulp观察者破坏。

我的gulpfile.js现在看起来像这样:

gulp.task('default', ['watch']);

// Sass compilation to css
gulp.task('build-css', function() {
  return gulp.src('source/scss/**/*.scss')
    .pipe(sourcemaps.init()) // Process the original sources
    .pipe(sass())
    .pipe(sourcemaps.write()) // Add the map to modified source.
    .pipe(gulp.dest('public/assets/css'));
});

// Configure which files to watch and what tasks to use on file changes
gulp.task('watch', function() {
  gulp.watch('source/scss/**/*.scss', ['build-css']);
});

当我在scss文件中输入错误时:

body {
    color: $non-existing-var;
}

gulp观察者显示错误信息,但停止观看导致gulp中断其执行。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

我会假设您正在使用gulp-sass pluging,如果您不使用,我建议您这样做。它是node-sass的包装器,它是C版本:超快:)

gulp-sass文档中,他们已经为您提供了one example,所以您的任务应如下所示:

gulp.task('build-css', function() {
  return gulp.src('source/scss/**/*.scss')
    .pipe(sourcemaps.init()) // Process the original sources
    .pipe(sass().on('error', sass.logError))
    .pipe(sourcemaps.write()) // Add the map to modified source.
    .pipe(gulp.dest('public/assets/css'));
});

希望这有助于您完成所需的目标:)