Gulp-компас, сжимающий sass, не работает

Запуск Sass 3.4.3, Compass 1.0.1, Gulp 3.8.8 и Gulp-compass 1.3.1

gulp.task('compass', function() {
    gulp.src('comp/sass/style.scss')
        .pipe(compass({
            sass: 'comp/sass',
            image: 'dev/theme/images',
            style: 'compressed'
        })
        .on('error', gutil.log))
        .pipe(gulp.dest('dev/theme/css'))
});

Compass Task компилирует sass, но сжатие не работает. Он выводит обычный несжатый файл css.


person Avin Varghese    schedule 12.09.2014    source источник


Ответы (2)


У меня была такая же проблема со следующим:

gulp.task('compass', function() {
    gulp.src(sassSources)
     .pipe(compass({
        sass: 'components/sass',
        image: outputDir + '/images',
        style: sassStyle
     }))
     .on('error', gutil.log)
     .pipe(gulp.dest(outputDir + '/css'))
     .pipe(connect.reload())
});

Обратите внимание, что есть эта переменная sassStyle, которая определена условно в следующей части кода, где процесс node.js process.env «отслеживает» значение NODE_ENV, поэтому мы можем переключаться между рабочей папкой и папкой разработки:

env = process.env.NODE_ENV || 'development';
 if (env ==='development') {
    outputDir = 'builds/development/';
    sassStyle = 'expanded';
} else {
    outputDir = 'builds/production/';
    sassStyle ='compressed';
}

Это не сработало, но внешний файл config.rb отредактировался вручную с помощью:

config_file: 'config.rb',

с этой строчкой в ​​файле работало:

output_style = :compressed

На данный момент я просто оставил эти строки закомментированными в файле в качестве обходного пути.

Я использую следующие devDependencies:

  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-browserify": "^0.5.1",
    "gulp-coffee": "^2.3.2",
    "gulp-compass": "^2.1.0",
    "gulp-concat": "^2.6.0",
    "gulp-connect": "^5.0.0",
    "gulp-util": "^3.0.7",
    "jquery": "^3.1.0",
    "mustache": "^2.2.1"
  }
person Massamba Sow    schedule 09.09.2016
comment
Я предполагаю, что это из курса рабочих процессов веб-проекта Lynda.com. Где вы написали config_file: 'config.rb',? - person ihodonald; 03.05.2017

То, что у вас есть, должно работать, но я думаю, что плагин gulp-compass немного глючит со свойствами конфигурации. У меня он стабильно работает со стилем вывода в отдельном файле config.rb.

var gulp = require('gulp');
var compass = require('gulp-compass');
var gutil = require('gulp-util');

gulp.task('compass', function() {
    return gulp.src('comp/sass/style.scss')
        .pipe(compass({
            config_file: 'config.rb',
            sass: 'comp/sass',
            image: 'dev/theme/images'
        })
        .on('error', gutil.log))
        .pipe(gulp.dest('dev/theme/css'))
    ;
})

При этом в файле config.rb:

output_style = :compressed
person Doodlebot    schedule 12.09.2014
comment
К сожалению, это не сработало для меня. Я использую sass 3.4.13 и gulp-compass 2.0.3. - person Koen Peters; 01.03.2015
comment
У меня такая же проблема, и я также попробовал использовать файл конфигурации ruby. У меня это тоже не сработало. - person Kenny; 24.02.2016