imagemin

Minify images

imagemin

Minify images seamlessly

$ npm install --save imagemin
var Imagemin = require('imagemin');
 
new Imagemin()
.src('images/*.{gif,jpg,png,svg}')
.dest('build/images')
.use(Imagemin.jpegtran({progressive: true}))
.run(function (errfiles) {
console.log(files[0]);
// => {path: 'build/images/foo.jpg', contents: <Buffer 89 50 4e ...>} 
});

You can use gulp-rename to rename your files:

var Imagemin = require('imagemin');
var rename = require('gulp-rename');
 
new Imagemin()
.src('images/foo.png')
.use(rename('bar.png'));

Creates a new Imagemin instance.

Type: array, buffer or string

Set the files to be optimized. Takes a buffer, glob string or an array of glob strings as argument.

Type: string

Set the destination folder to where your files will be written. If you don't set any destination no files will be written.

Type: function

Add a plugin to the middleware stack.

Type: function

Optimize your files with the given settings.

The callback will return an array of vinyl files in files.

The following plugins are bundled with imagemin:

  • gifsicle — Compress GIF images.
  • jpegtran — Compress JPG images.
  • optipng — Compress PNG images losslessly.
  • svgo — Compress SVG images.

Compress GIF images.

var Imagemin = require('imagemin');
 
new Imagemin()
.use(Imagemin.gifsicle({interlaced: true}));

Compress JPG images.

var Imagemin = require('imagemin');
 
new Imagemin()
.use(Imagemin.jpegtran({progressive: true}));

Lossless compression of PNG images.

var Imagemin = require('imagemin');
 
new Imagemin()
.use(Imagemin.optipng({optimizationLevel: 3}));

Compress SVG images.

var Imagemin = require('imagemin');
 
new Imagemin()
.use(Imagemin.svgo());

MIT © imagemin