当前位置: 首页 > news >正文

webpack压缩图片之项目资源优化

webpack打包时,会根据webpack.config.js 中url-loader中设置的limit大小来对图片进行处理,小于limit的图片转化成base64格式,其余的不做操作。对于比较大的图片我们可以用image-webpack-loader 来压缩图片。 

npm install image-webpack-loader --save-dev

在 webpack.config.js 中配置:

{
  test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
  use:[
    {
    loader: 'url-loader',
    options: {
      limit: 10000,
      name: utils.assetsPath('img/[name].[hash:7].[ext]')
      }
    },
    {
      loader: 'image-webpack-loader',// 压缩图片
      options: {
        bypassOnDebug: true,
      }
    }
  ]
}

最初打包压缩后整个包有11.4M,查了下发现是引入的苹果字体库就有11多M,删除了该大包袱后,整个包资源锐减到3.24M,后再次进行图片的压缩,就用上面的方法,体积缩减到2.16M,将项目中png图片在线转换为jpg后,体积再次缩减到1.82M。

因为代码要放到腾讯云上面,涉及到带宽流量问题,我们进行了整个包资源的优化,最后用户下载的话就只需下载1.82M的流量包即可。

 经过业务逻辑叠加,我们打包后代码到了2M了,我们老大需要check我的包代码,发现里面有map文件没有去掉,然后我又进行了map文件的清理:

运行 cnpm run build 开始打包后会在项目目录下自动创建dist目录,打包好的文件都在其中 
解决办法:去src/config/index.js中改一个参数: 
productionSourceMap:false 
把这个改为false。不然在最终打包的文件中会出现一些map文件

map文件的作用:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。 
有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。

然后2M多的项目去掉map文件打包后仅剩775K,不足1M的量,突然发现以前我写的项目包应该都是蛮大的吧[捂脸],对不起使用我写的项目的用户鸭,真是抱歉啊,没有真实为着用户着想,我的锅!

 

 

【完】

进一寸有一寸的欣喜

转载于:https://www.cnblogs.com/tangjiao/p/10189476.html

相关文章:

  • 内存释放
  • 我的译作
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • 百度排名公式最新版
  • Day6:html和css
  • NAT技术及其应用
  • Verilog实现同步FIFO
  • 做个md5查询站(3)数据格式
  • C语言博客作业06--结构体文件
  • 事件类型
  • 英语数字读法
  • bootstrp的datetimepicker插件获取选定日期
  • 08年cpu
  • VMware网络适配器的选择
  • 三、MyBatis-全局配置文件
  • 《Java编程思想》读书笔记-对象导论
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Docker容器管理
  • gf框架之分页模块(五) - 自定义分页
  • Golang-长连接-状态推送
  • js学习笔记
  • npx命令介绍
  • PAT A1017 优先队列
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Web设计流程优化:网页效果图设计新思路
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 百度小程序遇到的问题
  • 编写高质量JavaScript代码之并发
  • 大主子表关联的性能优化方法
  • 服务器从安装到部署全过程(二)
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 基于游标的分页接口实现
  • 技术:超级实用的电脑小技巧
  • 精彩代码 vue.js
  • 老板让我十分钟上手nx-admin
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序实战练习(仿五洲到家微信版)
  • 微信支付JSAPI,实测!终极方案
  • 阿里云服务器购买完整流程
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • (007)XHTML文档之标题——h1~h6
  • (arch)linux 转换文件编码格式
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (一一四)第九章编程练习
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET Core中的去虚
  • .Net MVC + EF搭建学生管理系统
  • .net通用权限框架B/S (三)--MODEL层(2)
  • ;号自动换行