1.1.4 • Published 8 months ago
minify-pix v1.1.4
📸 MinifyPix
MinifyPix 是一个用于优化图像文件大小的 Node.js 模块。它既可以独立使用,也可以通过配置检测 Git 暂存区中的图像文件,在代码提交的时候提供对它们进行压缩和优化的能力。
📥 安装
使用 npm 安装:
npm install minify-pix
🚀 使用
独立使用
您可以直接运行 minify-pix
命令来优化当前目录下的所有图像文件。
npx minify
与 Git 钩子集成
MinifyPix 可以与 Git 钩子集成,在每次代码提交时自动优化暂存区中的图像文件。
- 安装 Husky 9
npm install husky@9 --save-dev
- 初始化 Husky
npx husky init
- 配置 pre-commit 钩子
Husky 会在 .husky
目录下创建 pre-commit
文件。编辑该文件,添加以下内容:
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npx minify
这将在每次提交代码时先执行 minify-pix
命令,然后将优化后的文件添加到暂存区。
- 安装当前支持的最低版本husky,如5
npm install husky@5 --save-dev
npx husky install
npx husky add .husky/pre-commit "npx minify"
- 编辑.husky/pre-commit
#!/bin/sh
npx minify
git diff --cached --name-only --diff-filter=ACMRTUXB | egrep "\.(png|gif|jpeg|jpg|svg)$" | while IFS= read -r file;do
git add "$file"
done
- 当前可基于package.json配置
"minifyPix": {
"destination": "./src"
}
现在,每次提交代码时,MinifyPix 都会自动优化暂存区中的图像文件。
⚙️ 配置
MinifyPix 支持多种优化选项,您可以在运行时传递参数或在项目根目录下创建 minifyPix.config.js
文件进行配置。
在 minifyPix.config.js
中,您可以配置以下选项:
destination
(字符串):指定要优化的图像文件所在的本地目录相对路径。(当设置此项后将不会再从Git的状态中提取图片)exclude
(数组):指定要排除的目录或文件,通常用于排除node_modules
(默认) 目录。target
(字符串):指定优化后的图像文件输出目录相对路径。如果未指定,则会覆盖原始文件。chunkSize
(数字):批量优化分块,避免EAGAIN异常。(默认100)
例如:
module.exports = {
destination: './src',
exclude: ['node_modules', '.hidden'],
target: './static',
chunkSize: 50
}
📄 许可证
MinifyPix 基于 MIT 许可证开源。