gulp-ruby-sass插件没有缓存Sass文件

时间:2014-11-19 13:07:07

标签: caching sass gulp gulp-watch

如何使用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的主分支。< / p>

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-cache 文件夹,其文件夹包含main.scssc以及Bootstrap的部分文件。

更新

到目前为止,我已经找到了两种解决方案(不是用于缓存,但是为了更快的编译时间):

1)gulp-ruby-sass version 1.0(alpha),它更快,适用于源图。似乎很快就会被释放。 Check this

2)gulp-sass使用C / C ++并且它非常快,但没有一些功能。

1 个答案:

答案 0 :(得分:0)

我希望您的问题与https://github.com/sindresorhus/gulp-ruby-sass/issues/111相关。虽然此问题仍处于开放状态,但在使用generator-gulp-webapp 0.3.0(和gulp-ruby-sass 1.0.1与Sass 3.4.13(选择性史蒂夫))时,我无法确认您的问题。

默认情况下,

generator-gulp-webapp 0.3.0附带gulp-sass。在使用Sass和Bootstrap安装gulp-webapp之后,我将如下替换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的缓存版本。