jz-img-compress
Version:
压缩项目中的图片资源的自动化工具
54 lines (43 loc) • 1.57 kB
Markdown
# jz-img-compress
前端项目中用到的图片资源在上线之前都是需要压缩处理的,由于手动对每张图片做压缩不仅繁琐,而且容易忘记。
[tinypng.com](https://tinypng.com/) 网站提供了api接口,可以通过工具自动压缩,因此开发了这个工具,用于自动执行图片压缩操作。
## 安装
```shell script
npm i jz-img-compress --save-dev
or
yarn add jz-img-compress -D
```
## 配置
配置项目的`package.json`文件,如下:
```json5
{
"name": "example-app",
...
"scripts": {
"compress": "cross-env JZ_COMPRESS_KEY=<your api key> jz-compress"
},
"jz-compress": {
"targets": [
"src/assets/images"
],
"cache": ".cache/img-compress.json"
}
}
```
### 配置项
#### 1. api key
工具在运行时需要使用api key,会自动从环境变量中读取 `JZ_COMPRESS_KEY` 变量作为 key 的值,所以可以通过
配置`scripts`中的命令,如上所示。
#### 2. targets
图片资源所在的目录,如果图片资源分布在多个目录下的话,可以提供多个位置。
> 由于 tinypng.com 目前只支持 png/jpg 格式的图片,因此该工具只会处理目录下面的 png/jpg 格式的图片,
> 目录下的其他资源会自动被忽略
#### 3. cache
为了节约 api 资源,工具会对压缩之后的结果进行缓存,二次压缩会被忽略。
该配置用于指定缓存文件的位置,默认为 `.cache/img-compress.json`
## 运行
```shell script
npm run compress
```
## 运行示例
