2014-11-19 5 views
2

Как кэшировать файлы Sass с помощью gulp-ruby-sass? Кажется, что это должен быть вариант по умолчанию, но этого не происходит. Я должен что-то упустить.gulp-ruby-sass plugin not caching Файлы Sass

Во время работы watch задачи, каждый раз я что-то изменить в приложения/стилях/main.scss, gulp-ruby-sass будет компилировать Sass Bootstrap снова без необходимости, занимая около 4-5 дополнительных секунд.

Мой приложение/стили/main.scss файл выглядит следующим образом:

// MY PROJECT DEFAULTS 
@import “my_project/variables"; 

// bower:scss 
@import "../bower_components/bootstrap-sass-official/vendor/assets/stylesheets/bootstrap.scss"; 
// endbower 

// ... 

В gulpfile.js был создан на 2014-11-25 использованием генератора Глоток-0.1.0 веб-приложение, связанный с главной ветвью от git repo. Функция

See the gulpfile.js here

Стили:

gulp.task('styles', function() { 
    return gulp.src('app/styles/main.scss') 
    .pipe($.plumber()) 
    .pipe($.rubySass({ 
     style: 'expanded', 
     precision: 10 
    })) 
    .pipe($.autoprefixer({browsers: ['last 1 version']})) 
    .pipe(gulp.dest('.tmp/styles')); 
}); 

.sass-кэш папка создается, и его папки включает main.scssc, а также парциальные Bootstrap в.

UPDATE

До сих пор я нашел два решения (не для кэширования, хотя, но для более быстрой компиляции):

1) gulp-ruby-sass version 1.0 (альфа), который быстрее и работает с источником -отображений. Похоже, что это скоро будет выпущено. Check this

2) gulp-sass, который использует C/C++ и работает очень быстро, но не имеет некоторых функций.

ответ

0

Ожидает, что вы выдаете связанную с https://github.com/sindresorhus/gulp-ruby-sass/issues/111. Хотя этот вопрос открыт до сих пор, я не могу не подтвердить свой вопрос при использовании generator-gulp-webapp 0.3.0gulp-ruby-sass 1.0.1 с Сасс 3.4.13 (Selective Steve))

generator-gulp-webapp 0.3.0 судов с gulp-sass по умолчанию. После установки Глоток-веб-приложение с Sass и Bootstrap я заменить styles задачу следующим образом:

gulp.task('styles', function() { 
    return $.rubySass('app/styles/main.scss') 
    .on('error', function (err) { 
     console.error('Error!', err.message); 
    }) 
    .pipe(gulp.dest('.tmp/styles')) 
    .pipe(reload({stream: true})); 
}); 

После изменения main.scss в watch пробегов задачи и выходы:

[BS] 1 file changed (main.css) 
[15:53:17] Finished 'styles' after 20 s 

Теперь содержимое .sass-cache папки выглядеть что показано ниже:

/.sass-cache$ ls -la 
total 24 
drwxrwxr-x 6 bass bass 4096 Apr 13 15:40 . 
drwxrwxr-x 9 bass bass 4096 Apr 13 15:48 .. 
drwxrwxr-x 2 bass bass 4096 Apr 13 15:40 721aed65acc825809156d020625072c6ea20be50 
drwxrwxr-x 2 bass bass 4096 Apr 13 15:40 b311c6377fb599f57cc8c0d0c360c9b83a27e34b 
drwxrwxr-x 2 bass bass 4096 Apr 13 15:40 d1eb2de86ef2be3a4571ad5415b5156c01618faf 
drwxrwxr-x 2 bass bass 4096 Apr 13 15:53 e2b546d387a82bc59b03d84e84d775c05a23ac82 

насколько сделай понять только e2b546d387a82bc59b03d84e84d775c05a23ac82, который содержит только кешированную версию main.scss.