无法在gulp-ruby-sass中获取行号

时间:2014-08-09 21:52:42

标签: sass gulp

我已经在gulp中设置了gulp-ruby-sass任务,并提供了一些选项。 选项'精度'和'风格'按预期工作,但我没有在CSS中得到debugInfo或lineNumbers(我确实用指南针得到它们)。 我的gulpfile.js:

var gulp = require('gulp'),
    sass = require('gulp-ruby-sass');

function errorLog(error)
{
  console.log(error.toString());
  this.emit('end');
}

// SASS
gulp.task('styles', function(){
  gulp.src('scss/**/*.scss')
    .pipe(sass({
      debugInfo   : true,
      lineNumbers : true,
      precision   : 6,
      style       : 'normal'
    }))
    .on('error', errorLog)
    .pipe(gulp.dest('css/'));
});

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我能够弄清楚这一点。解决方案对我来说是双重的。如果我添加了lineNumbers选项,则会因找不到文件错误而失败。这可能是因为我正在编译正常的css(带行号)和缩小版本。

我需要添加“容器”选项才能使其正常工作。

以下是我的工作任务:

gulp.task('styles', function()

{
    return sass('app/assets/sass/app.scss', { style: 'expanded', lineNumbers: true, container: 'gulp-ruby-sass' })
        .pipe(autoprefixer('last 15 version'))
        .pipe(gulp.dest('public/css'));
});

gulp.task('styles-min', function()
{
    return sass('app/assets/sass/app.scss', { style: 'expanded', container: 'gulp-ruby-sass-min' })
        .pipe(autoprefixer('last 15 version'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('public/css'));
});

注意: lineNumbers选项有点误导,因为它实际上是源sass / scss文件和行号的路径。