- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');
const imageminPngquant = require('imagemin-pngquant');
const imageminMozjpeg = require('imagemin-mozjpeg');
const imageminGiflossy = require('imagemin-giflossy');
gulp.task('compress_images', () => {
return gulp.src('img/uncompressed/*')
.pipe(imagemin([
// png - slightly lossy
imageminPngquant({
speed: 3,
quality: 90 // scale of 1-100 (100 = best)
}),
// gif very light lossy
imageminGiflossy({
lossy: 80 // 30 is very light compression, 200 is heavy
}),
// svg
imagemin.svgo({
plugins: [{
removeViewBox: false
}]
}),
// jpg lossless
imagemin.jpegtran({
progressive: true
}),
// jpg very light lossy
imageminMozjpeg()
], {verbose: true} ))
.pipe(gulp.dest('img/compressed'));
});