核心用法
baoyu-compress-image 是一款自动化图像压缩 CLI 工具,专为开发者和设计师打造。它采用多引擎降级策略,按优先级自动检测并调用系统可用工具:macOS 原生 sips → Google cwebp → ImageMagick → Node.js Sharp 库,确保跨平台兼容性。
主要功能
- 格式转换:默认输出 WebP(现代浏览器最优格式),可选 PNG、JPEG
- 质量可控:0-100 质量参数,默认 80 平衡画质与体积
- 批量处理:单文件或递归目录处理,JSON 输出便于集成
- 灵活保留:可选保留原文件,避免误覆盖
使用示例
# 单文件转 WebP bun scripts/main.ts photo.png # 目录批量压缩,质量 75 bun scripts/main.ts ./assets/ -r -q 75 # 保留原 PNG 格式 bun scripts/main.ts logo.png -f png --keep
显著优点
1. 引擎智能降级:无需手动安装依赖,系统自动匹配最优工具链
2. 跨平台支持:Bun 运行时驱动,兼容 macOS/Linux/Windows(WSL)
3. 可扩展配置:通过 EXTEND.md 支持项目级、用户级默认参数覆盖
4. 体积优化显著:典型场景 50-70% 压缩率,WebP 格式尤佳
潜在局限
- 依赖外部运行时 Bun(或需 npx 回退),未预装时需首次配置
- 引擎优先级固定,无法强制指定特定后端
- Windows 原生环境需 WSL 或额外配置,非开箱即用
- 暂不支持 GIF/AVIF 等新兴格式
适合人群
- 前端开发者:优化 Web 资源加载性能
- 设计师/UI 团队:批量导出素材
- CI/CD 流程:自动化构建中集成图像优化
- 个人用户:快速减小图片体积便于存储或分享
常规风险
| 风险项 | 说明 | 缓解建议 |
|--------|------|---------|
| 原文件覆盖 | 默认行为直接替换,无二次确认 | 始终使用 `--keep` 或先备份 |
| 质量损失 | 有损压缩不可逆 | 关键素材先用 `--quality 95` 测试 |
| 引擎缺失 | 若四引擎均未安装则失败 | 按提示安装 Bun 或 cwebp |
| 递归误操作 | `-r` 处理大量文件可能耗时 | 先在小目录验证 |
配置扩展
通过 EXTEND.md 可预设默认格式、质量、保留策略,支持三级作用域:项目目录 → XDG 配置 → 用户主目录,便于团队协作与个人习惯统一管理。