Почему моя задача gulp перестала генерировать мои css файлы?
Я использую sass (запускаемый заданием gulp) для генерации моих css-файлов. Я недавно отформатировал свои вычисления, и эта задача перестала работать.
var sass = require('gulp-ruby-sass');
var config = require('../config');
gulp.task('styles', ['copy'], function() {
gulp.src(config.sources.sass)
.pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
.pipe(gulp.dest(config.build.cssDir));
});
Эта задача работала нормально, прежде чем я переустановил свою ОС (Windows 8.1). Теперь после запуска этой задачи нет видимых ошибок, но файлы CSS не создаются.
Итак, вопрос в следующем:
Почему моя задача gulp перестала генерировать мои css файлы?
1 ответ
Ваше задание глотка в порядке.
gulp-ruby-sass
по умолчанию использует gem sass для компиляции ваших файлов scss. Так как вы недавно отформатировали свой компьютер, держу пари, вы установили последнюю версию Ruby Installer для Windows. Я провел несколько тестов и заметил, что sass не работает в Windows при использовании Ruby 2.2.2. Sass Gem прекрасно работает на Ruby 2.2 на Ubuntu и OS X.
Если это вариант, я предлагаю вам перейти с Ruby 2.2.x на Ruby 2.1.6, и это должно решить вашу проблему.
В противном случае вы можете использовать gulp-debug, чтобы проверить ваш поток и начать с него.
gulp.task('styles', ['copy'], function() {
gulp.src(config.sources.sass)
.pipe(debug({title: 'Before sass:'}))
.pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
.pipe(debug({title: 'After sass:'}))
.pipe(gulp.dest(config.build.cssDir));
});
Если вы не можете отказаться от версии ruby, вы можете использовать gulp-sass
вместо gulp-ruby-sass
, Gulp sass вообще не требует ruby, поскольку использует оболочку, созданную в node для библиотеки C/C++ - libsass
,
Вы также можете отредактировать свой пост и включить свой gulp-ruby-sass
версия (или ваша package.json
), а также ваша версия nodejs.