实现项目构建时图片的最优性能方案:自动合并雪碧图并压缩全部图片
雪碧图方案:postcss-sprites
图片压缩方案:image-webpack-loader
复制代码
一、安装与启动webpack
npm install
npm run start
复制代码
二、页面展现git
postcss-sprites 自动转换css中依赖的各类本地图片,并自动替换当前图片的css样式
image-webpack-loader 压缩各类格式图片
复制代码
保存输出样式表的文件夹的相对路径。若是它为null,将使用CSS文件的路径github
false
保存输出spritesheet的文件夹的相对路径web
./
true
您的基本路径将用于具备绝对CSS网址的图像算法
./
false
指示url是否应该与当前CSS上下文或原始CSS样式表文件相对,Options:
file|rule
npm
file
false
定义过滤器函数,用于处理样式表中建立的图像列表,每一个函数都必须返回一个Promise应该被解析或拒绝的函数。bash
[]
false
定义将操做样式表中建立的图像列表的组函数,每一个函数都必须返回一个Promise应该用字符串解析或拒绝的函数svg
[]
false
定义是否在文件名中搜索视网膜标记函数
false
false
钩子函数配置
{}
false
容许重写生成的spritesheet数据的钩子。若是返回值为string,则将其用做文件路径值,若是返回值为object,则将其用做将与当前spritesheet数据合并的值。返回值也能够是Promise,它应返回字符串或对象。
null
false
容许重写图像的CSS输出
null
false
雪碧图配置
{}
false
配置雪碧图转换引擎
pixelsmith
false
配置雪碧图算法
binary-tree
false
配置雪碧图间隔的空间
0
false
引擎默认参数配置
{}
false
引擎导出选项
{}
false
生成SVG的基础配置,具体事例见连接 github.com/jkphl/svg-s…
将插件输出打印到控制台。
false
false
1. 压缩效率都为 67% 左右和 tinypng 在线压缩数据一致
2. 压缩以后图片基本无损
3. 会致使webpack打包时间变长,建议线上压缩
4. 可配置压缩质量 quality,设为75质量仍是不错的,体积可再减少 15%
5. 观其代码发现图片资源都是本地压缩,安装各种图片的压缩工具
复制代码
官方配置说明相对清晰友好,点击文档