2016-07-01 6 views
0

Этот код работает отлично, он оптимизирует все изображения в папке, и это нормально, если мне нужно вызвать задачу вручную, используя gulp images. Но обычно я просто делаю gulp watch, и для этого все изображения, которые были добавлены ранее, не нужно повторно использовать.Gulp imagemin - оптимизируйте только одно изображение

Итак, как можно оптимизировать только изображение, которое было добавлено в папку, а не все?

gulp.task('images', function() { 
    gulp.src('images/src/*.{png,jpg,gif}') 
    .pipe(plumber(plumberErrorHandler)) 
    .pipe(imagemin({ 
     optimizationLevel: 7, 
     progressive: true 
    })) 
    .pipe(gulp.dest('images')) 
    .pipe(notify("Images optimized.")); 
}); 

gulp.task('watch', function() { 
    gulp.watch('images/src/*.{png,jpg,gif}', ['images']); 
}); 

ответ

1

gulp-changed должен служить этой цели.

В принципе, он сравнивает свойство последнего изменения файлов, если источник новее, чем место назначения, которое он передает ему по потоку, иначе он будет удален из него.