webpack 压缩图片

压缩前:

压缩后:

压缩后基本上是压缩了70-80%左右

1.依赖版本及配置

"imagemin-webpack-plugin": "^2.4.2",

"imagemin-mozjpeg": "^7.0.0",

"imagemin-pngquant": "^5.0.1",

"webpack": "^3.6.0", //基于webpack3的项目
plugins: [

new ImageminPlugin({

pngquant: ImageminPngquant({

quality: 0.65, 0.90, // 压缩级别,范围0-1

speed: 4, //速度,范围1-11

}),

test: /\.(jpe?g|png|gif|svg)(\?.*)?$/i,

optipng: {

optimizationLevel: 7 // 0-7的优化级别

},

gifsicle: {

interlaced: true, // 是否隔行扫描gif进行模糊效果

optimizationLevel: 3 // 0-3的优化级别

},

jpegtran: {

progressive: true, // 是否无损压缩

},

mozjpeg: {

quality: 65, // 图片质量,范围0-100

progressive: true // 是否启用渐进式编码

},

svgo: { //不需要可注释 "imagemin-svgo": "^11.0.1",

plugins: [

{ removeViewBox: false },

{ cleanupIDs: false }

// 可以添加更多SVGO插件配置

]

},

plugins: [

ImageminMozjpeg({

quality: 75,

progressive: true,

}),

],

}),

//其他配置

]

2.不同图片格式优缺点

jpeg/jpg

  • jpeg/jpg 压缩比还色彩不错 (web开发都使用这种格式)

  • jpeg/jpg的使用场景比较大的图 如轮播

  • jpeg/jpg的缺陷 比如logo不适合

png

  • png的优点(1.做透明的背景)

  • png的使用场景 :使用比较小的图片如icon等使用如logo等(需要纹理、线条等)

  • png 的缺陷(体积比较大,imagemin-pngquant针对png压缩设置60-85%左右)

  • imahemin-pngquant 工具压缩

webp

  • 可以用工具生成webp的格式,webp压缩出来的体积比png更小

  • 兼容性一般只支持80%

相关推荐
晚风醉蝶7 天前
保姆级教程:用 AST 自动提取 webpack / rspack 打包后的模块
webpack·web逆向
guwentian13 天前
Rolldown vs esbuild vs Webpack:Rust 打包器大战我们该怎么选
前端·webpack·rust·esbuild
飞翔的熊blabla15 天前
# Webpack 5 + Jenkins 持久化缓存实战:前端构建从 288 秒降到 30 秒>
前端·webpack·jenkins
梨想橙汁16 天前
Vite 优化、踩坑汇总 + Webpack 迁移 Vite 实战
前端·webpack·vite
天道kabuto17 天前
Webpack 迁 Vite 踩坑记:一个让人抓狂的 Sourcemap 报错怎么破?
webpack·vite
梨想橙汁18 天前
Webpack 快速上手:前端工程化、打包原理、从零搭建基础项目
前端·webpack·前端工程化
晴天1618 天前
Webpack3/4/5 核心差异、性能升级与迁移实战指南-Day38
webpack·node.js
晴天1619 天前
Vite vs Webpack 全方位对比
前端·webpack·node.js
PBitW21 天前
为什么vite中TS报错,可以继续运行?Webpack不行?
前端·webpack·typescript·vite
你别说话了22 天前
Webpack 如何迁移重构到 Vite
前端·webpack·重构