Я использую 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']);
gulp-cache
мог разорвать бесконечный цикл наgulp-watch
, но я не нашел способа добиться этого. - person knight9631   schedule 17.04.2016