这是我编写的代码,用于让我看到我所有的SASS文件,效果很好(我很喜欢),
gulp.task('sass', function () {
gulp.src('../../_dev/_sass/**/*.scss')
.pipe(rubysass({
compass: true
}))
.pipe( minifyCSS() )
.pipe( gulp.dest('../../') );
});
出于某种原因,当我告诉 CMD 运行gulp并对 scss 文件进行更改时, CMD 会循环显示并更新指定目录中的所有 scss 文件,(我只希望它更新我更改的文件)。
编辑:它实际上遍历所有 css 文件,而不是 scss 文件。
我已经搜索过是否有任何东西可以阻止它像那样流淌而且遗憾地找不到任何东西。如果我正确地阅读它,那么documentation中就没有任何内容。
我假设我将 gulp.src()声明为设置为监视所有目录的部分可能是发生这种情况的原因。虽然我已经为LESS和CoffeeScript环境应用了相同的样式,但没有给出这个问题。
我是否错过了可以阻止这种情况发生的插件或细节?
答案 0 :(得分:0)
您可以将 gulp-changed 用于此类目的,仅传递已修改的文件。您必须将任务的dest
指定为changed
,并像以前一样:
var changed = require('gulp-changed');
gulp.task('sass', function () {
gulp.src('../../_dev/_sass/**/*.scss')
.pipe(changed('../../'))
.pipe(rubysass({ compass: true }))
.pipe(minifyCSS())
.pipe(gulp.dest('../../'));
});