我正在使用“gulp-watch”来监视文件夹下的文件更改images/
,并使用“gulp-imagemin”和“gulp-cache”来压缩和覆盖更改的图像文件。
当我添加新的图像文件时,watch
任务运行正确并且img-minify
任务陷入无限循环。
我试图消除“gulp-cache”的使用,但是img-minify
任务仍然导致无限循环。
谢谢。
var gulp = require('gulp'),
watch = require('gulp-watch'),
imagemin = require('gulp-imagemin'),
pngquant = require('imagemin-pngquant'),
cache = require('gulp-cache');
gulp.task('clear', function() {
return cache.clearAll();
});
gulp.task('img-minify', function() {
var paths = {
src: 'images/**/*',
dest: 'images/'
};
return gulp.src(paths.src)
.pipe(cache(imagemin({
progressive: true,
use: [pngquant()]
})))
.pipe(gulp.dest(paths.dest));
});
var paths = { 'img': ['images/**/*.png', 'images/**/*.jpg'] };
gulp.task('watch', function() {
watch(paths.img, function() {
gulp.start('img-minify');
});
});
gulp.task('default', ['watch']);