sharp-image
v1.0.3
Published
一个简单的 Node.js 图片压缩工具,支持 JPG、PNG、WebP 格式。
Maintainers
Readme
📦 sharp-image
一个简单好用的 Node.js 图片压缩 CLI 工具,支持压缩 JPG、PNG、WebP 格式图片,支持递归处理文件夹、设置压缩质量,并自动跳过输出目录,避免重复压缩。压缩任务结束后输出压缩统计,压缩效果一目了然。
✨ 功能特色
- ✅ 支持压缩常见格式:
.jpg,.jpeg,.png,.webp - ✅ 支持压缩单个图片或整个目录(包括子目录)
- ✅ 支持文件类型过滤(也可选择
all,压缩所有支持的类型) - ✅ 支持设置压缩质量(默认 80)
- ✅ 自动跳过输出目录(
compressed/),避免重复压缩 - ✅ 命令行易用,适合开发者集成在构建流程或工具链中
📦 安装方式
👉 全局安装(推荐)
npm install -g sharp-image👉 本地开发安装
git clone https://github.com/Moveharder/sharp-image.git
cd sharp-image
npm install
npm link🧪 使用示例
压缩整个文件夹下所有支持格式的图片:
sharp-image -i ./images只压缩 JPG 图片,压缩质量设置为 70:
sharp-image -i ./images -t jpg -q 70压缩单个图片并自定义输出目录:
sharp-image -i ./photo/test.png -o ./output🧩 命令参数说明
| 参数 | 说明 | 示例 |
| --------------- | ------------------------------------------------------- | ----------- |
| -i, --input | 必选,图片文件或文件夹路径 | ./images |
| -t, --type | 过滤文件类型,支持:jpg, png, webp, all(默认) | -t jpg |
| -q, --quality | 压缩质量(1~100,默认 80) | -q 75 |
| -o, --output | 输出目录(默认是 input/compressed) | -o ./dist |
| -h, --help | 显示帮助信息 | -h |
📁 目录结构示例
images/
├── a.jpg
├── b.png
└── sub/
└── c.webp
压缩后:
images/compressed/
├── a.jpg
├── b.png
└── sub/
└── c.webp⚙️ 环境要求
- Node.js >= 18.17.0
- 支持 Mac(Intel/ARM)、Linux、Windows
如果你遇到 sharp 安装失败,请参考官方文档:
👉 https://sharp.pixelplumbing.com/install
📜 获取安装包
🔧 更新日志
- 2015.11.11 v1.0.3 优化输出目录路径生成逻辑,增加安全检查
