Я использую «Глоток-часы», чтобы отслеживать изменения файлов в папке images/
, и используя «Глоток-imagemin» вместе с «Глоток-кэш», чтобы сжать и перезаписатьизменен файлы изображений.Глоток-часы задача приводит к бесконечной петле
Задача 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']);
Попробуйте использовать другой каталог dest для ваших изображений. – Barryman9000
@ Barryman9000 Спасибо. Это может решить проблему, но я бы просто перезаписал изображения src. Возможно, пакет 'gulp-cache' может разрушить бесконечный цикл' gulp-watch', но я не нашел способа добиться этого. – knight9631