Skip to content

Node.js 图片压缩 CLI 工具,支持压缩 JPG、PNG、WebP 格式图片,支持递归处理文件夹、设置压缩质量,并自动跳过输出目录,避免重复压缩。

Notifications You must be signed in to change notification settings

Moveharder/sharp-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 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


📜 获取安装包

sharp-image

About

Node.js 图片压缩 CLI 工具,支持压缩 JPG、PNG、WebP 格式图片,支持递归处理文件夹、设置压缩质量,并自动跳过输出目录,避免重复压缩。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published