图片压缩
图片压缩( gulp-imagemin ) + 深度压缩( imagemin-pngquant )
压缩PNG、JPEG、GIF和SVG图像。
gulp-imagemin集成了 gifsicle 、 jpegtran 、 optipng 、 svgo 这4个插件。而imagemin-pngquant是imagemin插件的一个扩展插件,用于深度压缩图片。
安装命令:
npm install gulp-imagemin imagemin-pngquant --save-dev
基础配置:
var gulp = require('gulp'); // 基础库
var imagemin = require('gulp-imagemin'), // 图片压缩
pngquant = require('imagemin-pngquant'); // 深度压缩
gulp.task('images', function(){
return gulp.src('src/images/**/*.{png,jpg,gif,svg}') // 指明源文件路径、并进行文件匹配
.pipe(imagemin({
progressive: true, // 无损压缩JPG图片
svgoPlugins: [{removeViewBox: false}], // 不移除svg的viewbox属性
use: [pngquant()] // 使用pngquant插件进行深度压缩
}))
.pipe(gulp.dest('dist/images')); // 输出路径
});
执行命令:
gulp images
注:一般我们所使用的图片压缩方法,都会对图像造成一定的损失,这个和压缩比率有一定的关系。通常我们所说的无损压缩,也只是控制在我们肉眼难以发现的范围内。换句话来说,在你保存切图的同时,其实已经对图像造成了一定的损失,因为没什么人会选择100%最佳质量导出图片。两者是差不多的概念。