背景
對(duì)于前端開發(fā)來(lái)說饰潜,圖片壓縮是很常見的場(chǎng)景。網(wǎng)上各類壓縮工具眾多和簸,如果對(duì)圖片壓縮沒有很高彭雾、很精細(xì)的要求,那么 TinyPNG 是一個(gè)不錯(cuò)的選擇锁保。
最直接的使用方法就是:打開其官網(wǎng)薯酝、上傳本地圖片、再下載到本地爽柒。
是的蜜托,我覺著有點(diǎn)麻煩。如果只是偶爾霉赡、一兩張圖片的話還好橄务。
本文推薦一個(gè) CLI 工具:tinypng-cli(npm package),可省去手動(dòng)上傳與下載的過程穴亏。
安裝
全局安裝:
$ npm i tinypng-cli -g
其 CLI 命令就是 tinypng
蜂挪。
使用之前,需前往 TinyPNG Developer API 申請(qǐng)一個(gè) API key嗓化,在下方輸入 Full name 和 Email 即可獲取棠涮。
每月有 500 個(gè)「免費(fèi)」的壓縮次數(shù) ????(于我而言足矣)。若有需要刺覆,可以前往 TinyPNG API Dashboard 升級(jí)付費(fèi)訂閱严肪。
獲取到 API key 之后,我們將其寫入到用戶目錄下的 .tinypng
文件中。
$ echo <your-api-key> > ~/.tinypng
如果不嫌麻煩驳糯,也可以不寫入該文件篇梭,每次執(zhí)行該命令時(shí)傳入 -k
參數(shù)來(lái)指定 API key。比如:
$ tinypng /path/to/file.png -k <your-api-key>
使用
用法很簡(jiǎn)單酝枢,支持單個(gè)或多個(gè)的文件或目錄恬偷,也可遞歸遍歷子目錄。
如果是目錄的話帘睦,會(huì)自動(dòng)查找目錄下的所有圖片袍患。
需要注意的是,圖片壓縮后會(huì)覆蓋原文件竣付。
# 1?? 處理當(dāng)前目錄(其中 `.` 可省略)
$ tinypng .
# 2?? 處理單個(gè)目錄
$ tinypng /path/to/image-dir
# 3?? 處理多個(gè)目錄
$ tinypng /path/to/image-dir-1 /path/to/image-dir-2
# 4?? 處理單個(gè)圖片
$ tinypng /path/to/image.png
# 5?? 處理多個(gè)圖片
$ tinypng /path/to/image-1.png /path/to/image-2.png
# 6?? 處理指定目錄及其子目錄的所有圖片(指定 `-r` 參數(shù))
$ tinypng /path/to/image-dir -r
還可以指定 --width
和 --height
參數(shù)以調(diào)整圖片大小诡延。但對(duì)我來(lái)說,這個(gè)使用場(chǎng)景很少古胆。
更多請(qǐng)看 tinypng-cli 或 tinypng -h
查看肆良。
$ tinypng -h
Usage
tinypng <path>
Example
tinypng .
tinypng assets/img
tinypng assets/img/test.png
tinypng assets/img/test.jpg
Options
-k, --key Provide an API key
-r, --recursive Walk given directory recursively
--width Resize an image to a specified width
--height Resize an image to a specified height
-v, --version Show installed version
-h, --help Show help
The end.