【问题标题】:Gulp Complies Sass even there exist lint errors即使存在 lint 错误,Gulp 也符合 Sass
【发布时间】:2018-02-13 06:55:04
【问题描述】:

我在 scss 文件被编译为 css 之前使用了gulp-sass-lint。我在这里面临的问题是,即使 scss 中存在 linting 错误,scss 也会被编译为 css。

如果出现 linting 错误,我如何停止将 scss 编译为 css。

这是我的 gulpfile。

var gulp        = require('gulp');
var browserSync = require('browser-sync').create();
var sass        = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var cssmin = require('gulp-cssmin');
var rename = require('gulp-rename');
var sassLint = require('gulp-sass-lint');

// Static Server + watching scss/html files
gulp.task('serve', ['sass-lint'], function() {
    browserSync.init({
        server: "./app"
    });
    gulp.watch("app/scss/*.scss", ['sass-lint']);
    gulp.watch("app/*.html").on('change', browserSync.reload);
    gulp.watch("app/js/*.js").on('change', browserSync.reload);
});

// sass-lint check
gulp.task('sass-lint', function () {
  return gulp.src('app/scss/**/*.s+(a|c)ss')
    .pipe(sassLint())
    .pipe(sassLint.format())
    .pipe(sassLint.failOnError())
    .pipe(sass().on('error',sass.logError))
    .pipe(gulp.dest("app/css"))
    .pipe(sourcemaps.init())
    .pipe(cssmin())
    .pipe(sourcemaps.write())
    .pipe(rename({
        suffix:'.min'
    }))
    .pipe(gulp.dest('app/css'))
    .pipe(browserSync.stream());
});

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

这是我的 package.json 文件

{
  "name": "gulpscss_starterkit",
  "version": "1.0.0",
  "description": "",
  "main": "gulpfile.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "gulp"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.22.0",
    "gulp": "^3.9.1",
    "gulp-cssmin": "^0.2.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^3.1.0",
    "gulp-sass-lint": "^1.3.4",
    "gulp-sourcemaps": "^2.6.3"
  }
}

【问题讨论】:

    标签: css gulp gulp-watch gulp-sass


    【解决方案1】:

    我会把 sassLint 放到它自己的任务中。

    // Static Server + watching scss/html files
    gulp.task('serve', ['sass'], function() {
    
    ...
    
    // sass
    gulp.task('sass', ['sass-lint'], function () {
      return gulp.src('app/scss/**/*.s+(a|c)ss')
        .pipe(sass().on('error',sass.logError))
        .pipe(gulp.dest("app/css"))
        .pipe(sourcemaps.init())
        .pipe(cssmin())
        .pipe(sourcemaps.write())
        .pipe(rename({
            suffix:'.min'
        }))
        .pipe(gulp.dest('app/css'))
        .pipe(browserSync.stream());
    });
    
    // sass-lint check
    gulp.task('sass-lint', function () {
      return gulp.src('app/scss/**/*.s+(a|c)ss')
        .pipe(sassLint())
        .pipe(sassLint.format())
        .pipe(sassLint.failOnError())
    });
    

    【讨论】:

      猜你喜欢
      • 2022-11-03
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多