kaosini 2020-01-12
更多gulp常用插件使用请访问:gulp常用插件汇总
gulp-imagemin这是一款缩小PNG,JPEG,GIF和SVG图像的插件。
一键安装不多解释
npm install --save-dev gulp-imagemin
基本的使用:
const gulp = require('gulp'); const imagemin = require('gulp-imagemin'); exports.default = () => ( gulp.src('src/images/*') .pipe(imagemin()) .pipe(gulp.dest('dist/images')) );
自定义插件选项
// … .pipe(imagemin([ imagemin.gifsicle({interlaced: true}), imagemin.jpegtran({progressive: true}), imagemin.optipng({optimizationLevel: 5}), imagemin.svgo({ plugins: [ {removeViewBox: true}, {cleanupIDs: false} ] }) ])) // …
请注意,您可能会遇到较旧的隐式语法。在版本低于3的版本中,如下所示:
// … .pipe(imagemin({ interlaced: true, progressive: true, optimizationLevel: 5, svgoPlugins: [ { removeViewBox: true } ] })) // …
自定义插件选项和自定义gulp-imagemin选项
// … .pipe(imagemin([ imagemin.svgo({ plugins: [ { removeViewBox: true } ] }) ], { verbose: true })) // …
只压缩修改的图片。压缩图片时比较耗时,在很多情况下我们只修改了某些图片,没有必要压缩所有图片,使用”gulp-cache
”只压缩修改的图片,没有修改的图片直接从缓存文件读取
var gulp = require('gulp'), imagemin = require('gulp-imagemin'), pngquant = require('imagemin-pngquant'), //确保本地已安装gulp-cache [cnpm install gulp-cache --save-dev] cache = require('gulp-cache'); gulp.task('testImagemin', function () { gulp.src('src/img/*.{png,jpg,gif,ico}') .pipe(cache(imagemin({ progressive: true, svgoPlugins: [{removeViewBox: false}], use: [pngquant()] }))) .pipe(gulp.dest('dist/img')); });
API:
随附以下无损优化器:
[gifsicle](https://github.com/imagemin/imagemin-gifsicle)
— 压缩GIF图像[jpegtran](https://github.com/imagemin/imagemin-jpegtran)
— 压缩JPEG图像[optipng](https://github.com/imagemin/imagemin-optipng)
— 压缩PNG图像[svgo](https://github.com/imagemin/imagemin-svgo)
— 压缩SVG图像** imagemin(plugins?, options?)
**
plugins
(外挂程式)Array
[imagemin.gifsicle(), imagemin.jpegtran(), imagemin.optipng(), imagemin.svgo()]
options
(选项)object
{ optimizationLevel: 5, //类型:Number 默认:3 取值范围:0-7(优化等级) progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片 interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染 multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化 }
verbose
(冗长的)boolean
false
gulp-imagemin
:gulp-imagemin: ? image1.png (already optimized) gulp-imagemin: ? image2.png (saved 91 B - 0.4%)
silent
(无声)boolean
false
--silent
如果尚未指定该选项,也可以从命令行使用该标志启用它。