说到图片压缩,大多数人应该都知道tinypng,一款在线图片压缩工具。不得不说这款产品的压缩质量相当不错。另外,我经常使用它。前几天想压缩几张自己的照片做电子请柬。不想把这些私照上传到别人的网站,所以想找个开源的。最后真的找到了一款非常不错的开源图片在线压缩工具——squoosh。squoosh压缩图片时在本地执行,不会上传图片到服务器,保证了用户的隐私和安全。但是,Squoosh使用GoogleAnalytics,它会收集一些基本信息。如果你连基本的信息都不介意,反正代码就在你手里,想干什么就看你自己了。我们去Github下载代码,解压源码,进入源码根目录,安装依赖包。由于网络原因,npminstall安装过程可能会失败。这里用nrm代替镜像源。然后进行编译。npmrunbuild最后执行运行命令:npmrundev因为我用的是Windows,执行npmrundev会报错,所以修改package.json的内容为:"scripts":{"build":"rollup-c&&nodelib/move-output.js","debug":"node--inspect-brknode_modules/.bin/rollup-c","dev":"DEV_PORT=\"${DEV_PORT:=5000}\"run-pwatchserve","watch":"rollup-cw","serve":"serve--listen=$DEV_PORT--config../../../serve.json.tmp/build/static","prepare":"huskyinstall"},更改为:"scripts":{"build":"rollup-c&&nodelib/move-output.js","debug":"node--inspect-brknode_modules/.bin/rollup-c","dev":"run-pwatchserve","watch":"rollup-cw","serve":"serve--listen=5000--config../../../serve.json.tmp/build/static","prepare":"huskyinstall"},如果是linux,则不需要做以上调整。现在执行运行命令:启动成功后,浏览器可以访问http://127.0.0.1:5000,就可以压缩图片了。在这里,我随机找了一张原始大小为776KB的图片。压缩后转为jpg的png图片大小为101KB。当然这里的转换格式和压缩质量也可以通过设置进行调整。通过网页,我们可以一个一个压缩。如果我们压缩很多图片,这个操作的效率就有点低了。事实上,Squoosh也提供了批量压缩的API和客户端命令。有兴趣的可以按照Github中的说明安装试用。
