Gulp imagemin - 仅优化一个图像

时间:2016-07-01 09:29:11

标签: gulp gulp-watch gulp-imagemin

此代码运行正常,它将优化文件夹中的所有图像,如果我需要使用gulp images手动调用任务,则可以。 但通常我只做gulp watch,因此之前添加的所有图像都不需要重新优化。

那么,gulp如何只优化刚刚添加到文件夹中的图像,而不是所有图像呢?

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 个答案:

答案 0 :(得分:1)

gulp-changed应该达到这个目的。

基本上它会比较文件'最后修改后的属性,如果源比他在目标中传递的目标更新,否则将其从流中删除。