Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

minify-pic-cli

kevin031220ISC1.0.2

一个简单易用的图片批量压缩命令行工具,支持 PNG、JPEG、GIF 格式,适合前端和设计师快速优化图片体积。

图片压缩, 命令行工具, image, compress, cli, sharp

readme

Minify Pic CLI - 图片批量压缩工具

一个简单易用的图片批量压缩命令行工具,支持 PNG、JPEG、GIF 格式,适合前端和设计师快速优化图片体积。

功能特性

  • 🖼️ 支持多种图片格式:PNG、JPEG、GIF
  • 📁 批量处理目录及子目录中的所有图片
  • ⚙️ 可自定义压缩质量和参数
  • 🚫 支持排除指定目录
  • 📊 显示压缩前后文件大小对比
  • 🎯 保持原有目录结构

安装

全局安装

# 使用 pnpm 安装
pnpm install -g minify-pic-cli

# 或使用 npm
npm install -g minify-pic-cli

使用方法

基本用法

# 压缩当前目录的所有图片
mpic

# 或直接运行
node index.js

命令行选项

mpic [选项]

选项:
  -d, --dir <dir>              需要压缩的目录 (默认: 当前目录)
  -o, --output <output>        输出目录 (默认: ./output)
  -q, --quality <quality>      压缩质量 0-100 (默认: 80)
  -g, --gif-colours <colours>  GIF调色板最大数量 2-256 (默认: 128)
  -b, --black-dirs <dirs>      排除的子文件夹名称,逗号分隔 (默认: "no")
  -v, --version                显示版本号
  -h, --help                   显示帮助信息

使用示例

# 压缩指定目录的图片,输出到 compressed 文件夹
mpic -d ./images -o ./compressed

# 设置压缩质量为 90
mpic -q 90

# 排除 node_modules 和 .git 目录
mpic -b "node_modules,.git"

# 设置 GIF 调色板为 64 色
mpic -g 64

# 组合使用多个选项
mpic -d ./src/assets -o ./dist/assets -q 85 -b "node_modules,.git"

支持的图片格式

  • PNG: 支持透明度,适合图标和简单图形
  • JPEG: 适合照片和复杂图像
  • GIF: 支持动画,可调整调色板颜色数量

配置说明

压缩质量 (quality)

  • 范围:0-100
  • 默认:80
  • 数值越高,质量越好,文件越大
  • 建议:80-90 为最佳平衡点

GIF 调色板颜色数 (gif-colours)

  • 范围:2-256
  • 默认:128
  • 颜色数越少,文件越小,但可能影响视觉效果
  • 建议:64-128 为常用范围

排除目录 (black-dirs)

  • 支持多个目录,用逗号分隔
  • 默认排除 "no" 目录
  • 常用排除目录:node_modules,.git,dist,build

输出说明

工具会在控制台显示:

  • 当前工作目录
  • 压缩进度和结果
  • 文件大小变化对比
  • 最终输出目录

示例输出:

当前目录路径为: /path/to/your/project
是否需要压缩当前目录的所有图片?Y/N:y
压缩完成 [大小变化: 2.5MB ---->>>> 1.2MB] /path/to/output/image1.jpg
压缩完成 [大小变化: 800KB ---->>>> 400KB] /path/to/output/image2.png
压缩任务全部完成,已输出至 /path/to/output

注意事项

  1. 备份原文件:工具会创建新的压缩文件,不会覆盖原文件
  2. 输出目录:默认输出到 ./output 目录,会自动创建
  3. 目录结构:压缩后会保持原有的目录结构
  4. 大文件处理:对于大文件,压缩可能需要一些时间
  5. 权限问题:确保对目标目录有写入权限

技术栈

  • Node.js: 运行环境
  • Sharp: 高性能图片处理库
  • Commander.js: 命令行参数解析
  • Readline: 用户交互

开发

# 安装依赖
pnpm install

# 运行开发版本
node index.js

许可证

ISC

更新日志

v1.0.2

  • 初始版本发布
  • 支持 PNG、JPEG、GIF 格式压缩
  • 命令行参数支持
  • 批量处理功能