如何使用gulp-ruby-sass缓存 Sass 文件?似乎它应该是一个默认选项,但这并没有发生。我肯定错过了什么。
当watch
任务运行时,每次我更改app/styles/main.scss中的某些内容时,gulp-ruby-sass
都会不必要地再次编译 Bootstrap 的 Sass,占用大约4-5 秒的额外时间。
我的app/styles/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日使用generator-gulp-webapp 0.1.0 生成的,链接到 git repo 的 master 分支。
样式功能:
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-cachemain.scssc
文件夹,其文件夹包括Bootstrap 的部分内容。
更新
到目前为止,我已经找到了两种解决方案(虽然不是用于缓存,而是用于更快的编译时间):
1) gulp-ruby-sass 版本 1.0 (alpha),它更快并且可以与源映射一起使用。似乎很快就会发布。检查这个
2) gulp-sass使用 C/C++,速度非常快,但没有一些特性。