UNPKG

jz-img-compress

Version:

压缩项目中的图片资源的自动化工具

54 lines (43 loc) 1.57 kB
# 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 ``` ## 运行示例 ![run example](assets/run-example.gif)