SUPERIMG_CLI.md

CLI 使用文档

安装后可在任意目录压缩单张图片或整个文件夹;默认原地压缩、质量 80、保持原格式。

安装 CLI

从 npm 全局安装:

npm install -g super-img-compress@latest

安装完成后检查命令是否可用:

super-img-compress --help

快速开始

压缩整个文件夹,默认直接替换原文件夹中的图片:

super-img-compress -i ./images

压缩单张图片:

super-img-compress -i ./photo.png

默认行为:

  • 不传 -q 时,质量默认为 80
  • 不传 -f 时,每张图片保持自己的原格式。
  • 不传 -o 时,直接原地替换输入图片或文件夹。
  • 处理文件夹时会递归扫描子目录。

压缩文件夹

假设目录结构如下:

images/
  banner.png
  avatar.jpg
  product/
    cover.webp

执行:

super-img-compress -i ./images

处理后仍然保留原目录结构和文件名:

images/
  banner.png
  avatar.jpg
  product/
    cover.webp

这适合想快速批量压缩,又不想改变文件格式和目录结构的场景。

指定输出格式

默认保持原格式。如果传入 -f,会把所有支持的图片统一转成指定格式。

转成 WebP:

super-img-compress -i ./images -f webp

转成 JPG:

super-img-compress -i ./images -f jpg

转成 PNG:

super-img-compress -i ./images -f png

支持的输出格式:

webp
jpeg
jpg
png

注意:转换格式且没有指定 -o 时,会在原文件夹中生成新格式文件,并删除原格式文件。

缩放尺寸

只限制宽度,高度自动按比例计算:

super-img-compress -i ./images --width 1600

只限制高度,宽度自动按比例计算:

super-img-compress -i ./images --height 900

同时限制宽高,默认保持比例,图片会被限制在指定范围内:

super-img-compress -i ./images --width 1600 --height 900

如果需要强制输出固定宽高,可以关闭保留比例:

super-img-compress -i ./images --width 800 --height 600 --no-keep-aspect

强制宽高可能导致图片被拉伸或压扁,请谨慎使用。

输出目录

默认不需要指定输出目录,CLI 会直接替换原文件。

如果不想修改原文件,可以指定 -o

super-img-compress -i ./images -o ./dist

指定输出目录时,会保留相对目录结构:

images/
  a.png
  nested/
    b.jpg

dist/
  a.png
  nested/
    b.jpg

指定输出目录并转成 WebP:

super-img-compress -i ./images -o ./dist -f webp

参数说明

参数 说明
-i, --input <path> 输入路径,可以是单张图片或图片文件夹。
-o, --output <dir> 输出目录;不传时原地替换。
-q, --quality <number> 压缩质量,范围 1-100,默认 80。
-f, --format <format> 输出格式,可选 webp、jpeg、jpg、png;不传时保持原格式。
--width <px> 限制输出宽度。
--height <px> 限制输出高度。
--no-keep-aspect 不保留原图比例,强制使用指定宽高。

常用示例

原地压缩文件夹,保持原格式,质量 80:

super-img-compress -i ./images

原地压缩文件夹,质量 70:

super-img-compress -i ./images -q 70

原地压缩并统一转成 WebP:

super-img-compress -i ./images -f webp -q 75

压缩并限制最大宽度:

super-img-compress -i ./images --width 1600

输出到新目录,不修改原文件:

super-img-compress -i ./images -o ./dist

压缩单张图片并转 WebP:

super-img-compress -i ./photo.jpg -f webp -q 80

注意事项

  • 默认会直接修改原文件,第一次使用前建议先备份。
  • 当前支持输入 JPG、PNG、WebP、TIF、TIFF。
  • 当前支持输出 JPG、PNG、WebP。
  • 当前不支持 AVIF。
  • 非图片文件会被跳过。
  • 透明 PNG 转 JPG 时,透明区域可能被填充。