破解 tinypng 数量限制(Mac/Windows/Nodejs)

9,053 阅读1分钟

客户端:github.com/focusbe/tin…
nodejs版:github.com/focusbe/tin…

tinypng ,也就是熊猫压缩是很多前端喜欢的压缩工具,官方提供了网站版,需要手动上传和下载图片,并且对于张数有限制,在使用的过程中有些繁琐,当然官方有提供nodejs的api版本,但是也有数量限制,

看到网上有人用nodejs写了一段自动上传并压缩的代码,原文在下面

nodejs 全自动使用 Tinypng (免费版,无需任何配置)压缩图片

[

](segmentfault.com/a/119000001…)

我在原来的基础上做了一些小的修改

  1. 加入了随机ip绕过20张限制,

  2. 封装成了nodejs的接口,方便集成到脚手架中和在Electron中使用

修改后的大致思路是这样的。

  • 递归获取本地文件夹里的文件

  • 过滤文件,格式必须是.jpg .png,大小小于5MB.(文件夹递归)

  • 每次只处理一个文件(可以绕过20个的数量限制)

  • 每一次随机一个IP地址并且同步进行(提升压缩速度,绕过20张数量限制)

  • 处理返回数据拿到远程优化图片地址

  • 取回图片更新本地图片

贴上nodejsAPI 版的Github地址

focusbe/tinypngjs

[

](github.com/focusbe/tin…)

再有了上面nodejs的版本后,再通过Electron就可以打包成客户端的形式,如果在不集成到脚手架的情况下也可以享受更加便利的压缩图片。

客户端版的Gihub地址

focusbe/tinyImage