Pic Smaller (图小小)
Pic Smaller是一款超级易用的在线图片压缩工具。它直观、移动设备友好,并支持压缩配置。同时,由于完全采用本地压缩,无任何服务器端逻辑,因此它是完全安全的。
使用方法
Pic smaller已部署到vercel
,您可以通过访问pic-smaller.vercel.app使用它。由于防火墙限制,中国用户可以通过访问picsmaller.com使用。
picsmaller.com是一个刚刚申请的新域名。旧域名txx.cssrefs.com仍然可以访问,但将于
2025-02-22
到期,并且不会继续续费。请使用最新域名访问服务。
开发
Pic smaller是一个Vite + React项目,您首先需要熟悉它们。它使用了现代浏览器技术,如OffscreenCanvas
、WebAssembly
和Web Worker
。在开发之前,您也应该熟悉这些技术。
# 克隆仓库
git clone https://github.com/joye61/pic-smaller.git
# 切换工作目录
cd ./pic-smaller
# 安装依赖
npm install
# 开始开发
npm run dev
部署
如果您想在自己的服务器上独立部署此项目,以下文档基于Docker,并且Dockerfile脚本已经过测试。在项目根目录内,按照以下说明启动docker应用。
# 从Dockerfile构建docker镜像
docker build -t picsmaller .
# 启动容器
docker run -p 3001:3001 -d picsmaller
现在您可以通过http://127.0.0.1:3001访问项目。如果您希望您的项目对所有人都可访问,您需要准备一个指向您本地机器的域名,然后通过像nginx这样的反向代理服务器将其代理到这台机器的3001端口。
致谢
- ant-design 提供基于React的UI解决方案
- wasm-image-compressor 提供基于Webassembly的PNG图像压缩实现
- gifsicle-wasm-browser 提供基于Webassembly的GIF图像压缩实现
- wasm_avif 提供基于Webassembly的AVIF图像压缩实现
- svgo 提供SVG矢量图压缩