Fri Jan 12 2018
Copied to clipboard! Copy reply
  • 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'));
});