问题

在我现在负责的小程序中,每次ui变更都需要引入新的图片,为了控制小程序体积,都需要先把图片压缩了再放到项目中,但是每次都要手动压缩一次,太麻烦了。所以我想能否在项目加入图片的时候,自动的对加入的图片进行压缩。同时在我的前端组中,对于小的开发项目,这些琐碎的事没有得到关注。为了解决以上问题,我使用了下面的方案。

简单方案:git-commit

借助git hook的能力,在每次提交前对新增的文件进行判断,如果是图片则进行压缩。为此使用了以下插件 husky + lint-staged + imagemin-linter

  • husky:Git hooks 工具,支持在git操作的钩子函数添加我们自定义的处理

  • lint-staged:在git暂存文件上运行linters的工具,方便筛选出图片支援

  • imagemin-linter:图片压缩插件

具体操作

目录

第一步:安装依赖

npm i -D husky lint-staged imagemin-linter复制代码

第二步:添加压缩配置package.json

  "husky": {    "hooks": {      "pre-commit": "lint-staged"    }  },  "lint-staged": {    "*.{png,jpeg,jpg,gif,svg}": "imagemin-linter"  },复制代码

第三步:添加 .gitignore文件,忽略提交npm安装的包

node_modules/复制代码

示例:

效果:

压缩前                        压缩后

结语

此方案比较简单,能够解决手动压缩的麻烦,同时满足了开发的需求:自动压缩 + 只压缩一次 。同时可以把这个添加到项目模板中,开发新项目时能减少部分工作量。

tip:对于已有的项目,可以分四步处理

  1. 删除图片资源文件夹

  2. git commit提交更改

  3. 撤销1的操作

  4. 再git commit提交更改

当然如果有工具能够直接批量压缩,再替换原项目图片,这样更好。

作者:ok同学
链接:https://juejin.cn/post/6910074402260385806

ios 上传图片失败 小程序_小程序图片自动压缩配置相关推荐

  1. 微信小程序_小程序开发框架

    微信小程序_小程序开发框架 微信小程序框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXS ...

  2. ios 上传图片失败 小程序_微信小程序ios端 使用ajaxSubmit上传图片失败,android没问题...

    微信小程序ios端 使用ajaxSubmit上传图片失败,android没问题 微信小程序开发上传图片,使用ajaxsubmit,post请求,form设置multipart/form-data, a ...

  3. ios 上传图片失败 小程序_iOS上传图片,就是有这种不一样的操作!

    很久没发文了,最近这段时间在看前端的东西,在忙微商城webapp的事,用的vue2.0开发,打算过段时间记录总结那方面的一些知识点和坑.下面进入今天的主题. 说到iOS上传图片,网上的资料满满皆是,分 ...

  4. htmlcss实例小项目_小程序websocket心跳库——websocket-heartbeat-miniprogram

    前言 在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库.如下: 博客:https: ...

  5. 数字抽奖小程序_小程序直播卖货必看的营销干货:抽奖营销

    关注并标星飞虎商联微营销 打卡阅读 更快更深刻洞察微营销 ━━━━━━ 小程序直播越来越火,通过小程序直播卖货的商家也是倍数式增长.那么如何引流粉丝到小程序直播间?除了需要做好一定的宣传行为,还要为引 ...

  6. 用python 记账小程序_小会计记账 小程序 走一波

    小会计记账小程序 最近同事接了个活,提供接送客户的服务,为了方便根据每天接送客户数量记一波账,于是就搞了一个记账类的小程序,记录每天的进账情况. 目前正在开发中. 小程序截图 首页 首页主要展示当天需 ...

  7. 编程小石头点餐小程序_小程序点餐成为餐饮业行业趋势

    随着微信小应用程序的不断改进,正朝着适应完全市场发展,并且逐渐实现到这一点.扫码点餐结账一条龙的小程序,这有助于餐饮业成为大趋势. "排队一个小时,吃饭十来分钟."现在,排队等候晚 ...

  8. python发红包小程序_小程序红包雨

    前言 话不多少先上效果,引入很简单,将/components/s-packetrain/index放到你的组件文件夹中 直接引用就可以了. 首先你要先在页面引入组件 index.json 引用组件 { ...

  9. 微信小程序使用RenderingContext进行图片尺寸压缩

    现在手机摄像头的像素越来越高,把很高像素的照片上传腾讯人脸识别,会发生超时错误,并且消耗了更多的网络流量.通常业务场景要上传的图片,像素要求也没那么高. 目前compressimage只实现了压缩算法 ...

最新文章

  1. Dubbo入门(2) - 简单实践
  2. 皮一皮:王大爷尽说些大实话...
  3. java读取XML文件的四种方式
  4. python 递归乘法
  5. boost::adaptors::copied相关的测试程序
  6. 【色彩管理】YUV色彩模式详解
  7. 使用github时因fatal: remote origin already exists错误,无法提交
  8. 深入学习SAP UI5框架代码系列之五:SAP UI5控件的实例数据修改和读取逻辑
  9. pythonpandas数据库_Python连接mysql数据库极简教程(pandas)
  10. cocos 时间函数需要什么引用_与时间赛跑:微盟的数据恢复为什么需要这么长时间...
  11. python中浅拷贝和深度拷贝的区别
  12. 解决百度云下载过慢、Linux下载百度云数据问题
  13. 编写程序,输入一个N,返回角谷变换(达到1所需)的次数
  14. c语言实现审查元素,如何删除qq空间说说?一键自动删除QQ空间说说审查元素代码分享(超简单)...
  15. 股票交易接口Java Serializable接口实现问题?
  16. 用ajax做级联操作,学习笔记之MVC级联及Ajax操作
  17. WSTMart 1.4.2 发布,让 bug 不再飞
  18. 为什么rar密码不能被破解
  19. 【竞赛项目,测试点】
  20. 【50集全】国家地理双语纪录片-第26集【Lion】学习笔记

热门文章

  1. 腾讯2009年笔试题
  2. DCCI:Web3.0时代 微博未来有望突破4.6亿
  3. 赛迪顾问2010-2011年度中国信息安全产品市场研究年度报告
  4. 一个浙江商人立下的22条规矩
  5. 《Javascript入门学习全集》 Javascript学习第二季(实战4)
  6. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库
  7. 在VM虚拟机中 CentOS7安装VMware Tools(超级详解)
  8. 剑指offer18.删除链表结点(添加dummy,next域结点指向head)
  9. 数据处理之不平衡数据过采样与下采样
  10. matlab 卷积conv2用法