使用gulp-imgmin不止一次压缩或缩小图像是不好的?

我试图决定是否应该只压缩/缩小所有图像,并让它们相互覆盖,或者是否应将每个图像的缩小/压缩版本存储在单独的文件夹中?

继续压缩已压缩的图像会不好吗?

为了testinggulp-imagemin我build立了下面的gulp gulp-imagemin 。 我已经包含了一些额外的imagemin插件 。

 var gulp = require('gulp'), imagemin = require('gulp-imagemin'); gulp.task('imagemin', function() { return gulp.src('src/lib/images/**.*') .pipe(imagemin({ progressive: true })) .pipe(gulp.dest('src/lib/images/')) }); gulp.task('default', ['imagemin']); 

这是我的初始文件夹结构(只包括一个图像)

 src/ |-- lib/ | |-- images/ | | |-- nasa.jpg 

首先运行gulp以下

 [22:31:32] gulp-imagemin: Minified 1 image (saved 489 B - 2.1%) 

重新运行gulp输出以下内容

 [22:32:43] gulp-imagemin: Minified 1 image (saved 0 B - 0%) 

回答你的问题

我试图决定是否应该只压缩/缩小所有图像,并让它们相互覆盖,或者是否应将每个图像的缩小/压缩版本存储在单独的文件夹中?

正如Charminbear所build议的那样 ,build议将工作区分割成 “src”(Source)和“dist”(Distribution)文件夹。 您可以将未压缩的图像存储在src / lib / images中,并使用gulp将缩小的图像提供给dist / lib / images。

 src/ |-- lib/ | |-- images/ | | |-- nasa.jpg | | |-- mars.jpg dist/ |-- lib/ | |-- images/ | | |-- nasa.jpg | | |-- mars.jpg gulpfile.js 

src和dist文件夹的作用是什么?

或者当gulp-imgmin去压缩图像,它看到它已经压缩,并跳过它?

gulp-imagemin不会试图缩小已经缩小的图像。

我会使gulp.dest ='src / lib / images / min /'(加min /),因此保持原来的。 我也没有看到反复运行它的问题,因为可能会更新库来改善压缩。