Gulp Sass Watch Run仅更改了依赖项

时间:2016-08-11 12:05:33

标签: sass gulp dependencies gulp-watch gulp-ruby-sass

我试图弄清楚如何观察SCSS文件的更改,然后只为那些更改(添加,删除)及其依赖项(@import)运行任务(gulp-ruby-sass)。

我的观察任务代码是:

gulp.task('sass-watch', function(){
  gulp.watch('dev/scss/*.scss', ['sass']);
});

我的" sass"任务代码是:

gulp.task('sass', function(event) {
  return sass('dev/scss/*.scss')
          .pipe(changed('dist/css'))
          .on('error', sass.logError)
          .pipe(gulp.dest('dist/css'));
});
无论如何,Sice sass将所有文件都放在文件夹中,这不能像我想的那样工作,但我注意到有趣的事情。在我的命令行中,我得到了以下日志,当" sass-watch"由保存style2.scss文件触发。

[13:38:01] Using gulpfile C:\1HLAVNI\Lukas\Webdesign\lukasradek\gulpfile.js
[13:38:01] Starting 'sass-watch'...
[13:38:01] Finished 'sass-watch' after 42 ms
[13:38:03] Starting 'sass'...
[13:38:03] write ./\style_combined.css
[13:38:03] write ./\style2.css
[13:38:03] Finished 'sass' after 416 ms

Something记录write style_combined.css and style2.css,这正是依赖关系的方式。 (styl2.scss导入到style_combined.scss)。所以这意味着,有些东西知道如何设置依赖项。问题是,我不知道那是什么东西。我无法在其他地方获得该信息,仅在最终日志中。如果我可以在代码中的某处获取该信息,我将能够用于仅针对已更改的文件和依赖项触发任务。

任何想法,可能会发出哪些日志?

我试图将我的代码剥离到最低限度,即使我删除了" sass"的内容,日志仍然存在。任务。从['sass']移除gulp.watch触发器后,日志消失了。

0 个答案:

没有答案