【发布时间】:2014-08-09 09:58:07
【问题描述】:
我有一个 gulp 任务,它使用 gulp-imagemin 来压缩图像。当我向这个目录添加新文件时,我希望这个任务也能压缩它们。我读到了 gulp.watch doesn't trigger on new files 并且我应该尝试 gulp-watch 所以我就这样使用它;
gulp.task('images', function() {
watch({glob: './source/images/*'}, function (files) {
return files
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
});
这与第一次运行时的 gulp.watch 相同,但是当我将新图像添加到目录时没有任何反应。但是,如果我覆盖现有文件,它会再次运行该任务,因此它的行为会有所不同。
gulp-watch 上的文档称此为“批处理模式”,并说我也可以按文件运行任务,所以我也尝试过这种方式;
gulp.task('images', function() {
gulp.src('./source/images/*')
.pipe(watch())
.pipe(plumber())
.pipe(imagemin({
progressive: true,
interlaced: true
}))
.pipe(gulp.dest('./www'));
});
但没有任何改变。为什么向我的图像目录添加文件不会触发任务?
【问题讨论】:
标签: gulp gulp-imagemin imagemin gulp-watch