Optimize PNG, JPEG, GIF, SVG images with gulp task.
brew install libjpeg libpng
on macOSapt-get install -y libjpeg libpng
on Ubuntu
$ npm install --save-dev gulp-image
This is an example of gulpfile.js
.
const gulp = require('gulp');
const image = require('gulp-image');
gulp.task('image', function () {
gulp.src('./fixtures/*')
.pipe(image())
.pipe(gulp.dest('./dest'));
});
gulp.task('default', ['image']);
You can pass an object to image()
as argument such as following:
gulp.task('image', function () {
gulp.src('./fixtures/*')
.pipe(image({
pngquant: true,
optipng: false,
zopflipng: true,
jpegRecompress: false,
jpegoptim: true,
mozjpeg: true,
gifsicle: true,
svgo: true,
concurrent: 10
}))
.pipe(gulp.dest('./dest'));
});
Set false
for optimizers which you don't want to apply. And you can set concurrent
option to limit the max concurrency in execution.
Optionally you may pass enable and disable options to svgo:
gulp.task('image', function () {
gulp.src('./fixtures/*')
.pipe(image({
svgo: { enable: ["removeRasterImages"], disable: ["removeDoctype"] }
}))
.pipe(gulp.dest('./dest'));
});