vue 图片压缩
背景
- 随着官网需求越来越大,打包越来越大,导致项目在C端的加载越来越慢,经一轮js和css压缩后,发现大批量的图
片没有压缩很好,故得上述情况
没有优化前
- 21.2M
实现方式
- 网站压缩
1)推荐网站1:tinypng此网站可以批量压缩图片,当然一次性压太多,网站也会报错无法压缩成功,多试几次就好了,并且,这个网站的压缩图片可以反复压很多次
2) 推荐网站2:bejson 该网站有点事自定义压缩体积,缺点是一次只能压一张图片
3) 效果:
i)经过一轮把所有图片在网站进行压缩以后,此时的大小为: 7.37M
代码压缩
1) 引入 url-loader1
2npm install file-loader -D
npm install url-loader -D2) vue.config.js 中配置如下:
1
2
3
4
5
6
7
8
9chainWebpack: (config) => {
config.module
.rule('images')
.test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
.use('url-loader')
.loader('url-loader')
.options({ bypassOnDebug: true })
.end();
},3) 此时打包后大小为 4.6M
感想与收获
- 压缩成就感满满
- 关于url-loader 和file-loader的区别可以参看
1)https://www.webpackjs.com/loaders/file-loader/
2) https://www.webpackjs.com/loaders/url-loader/
3) https://blog.csdn.net/harmsworth2016/article/details/82055574
4) https://blog.csdn.net/dejing6575/article/details/101474194?utm_medium=distribute.pc_relevant_t0.none-task-blogBlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blogBlogCommendFromMachineLearnPai2-1.channel_param