前言
上一次介紹完了代碼該如何壓縮,這一次我們來介紹該如何壓縮圖片,事實上,影響網頁載入速度最重要的關鍵就在於圖片,無論你的代碼優化的多麼完美,只要一張 size 較大的圖片存在於網頁上,就有可能造成渲染速度的低落,我們所要做的就是將這些圖片進行壓縮,盡可能的減少檔案大小,達到最佳化的目的;此篇將介紹如何使用 gulp-imagemin 套件進行圖片壓縮等應用。
筆記重點
- gulp-imagemin 安裝
- gulp-imagemin 基本使用
- gulp-imagemin 可傳遞選項
- 補充:optipng 圖片優化器
gulp-imagemin 安裝
套件連結:gulp-imagemin
1 | $ npm install gulp-imagemin |
gulp-imagemin 套件可以幫助我們壓縮 PNG、JPEG、GIF、SVG 等類型圖檔,無任何相依套件需安裝,直接安裝此套件即可。
gulp-imagemin 基本使用
初始專案結構
1 | gulp-demo/ |
載入並使用 gulp-imagemin:
1 | const gulp = require('gulp'); |
執行指定任務:
1 | $ gulp imagemin |
生成 ./public/img/IMG.JPG
圖檔,觀察已壓縮與未壓縮檔案大小差異:
原圖:
經過壓縮:
可以發現壓縮後的圖檔幾乎看不出有任何失真的狀況,而圖檔大小卻整整縮小了 50% 之多,從原有的 144.7KB 縮減為 65.1KB,可以說是相當的有感,以後就再也不需要去使用像 tinypng 等類似的服務囉。
gulp-imagemin 可傳遞選項
gulp-imagemin 與其他 Gulp 套件相比較為不同,主要依靠各類圖檔優化器進行設定,相關優化器如下:
上述套件均為 gulp-imagemin 相依套件,無須進行任何下載,配置即可使用,下面為 mozjpeg 使用範例:
1 | const gulp = require('gulp'); |
補充:optipng 圖片優化器
這邊補充一下關於 optipng 圖片優化器的應用:
1 | const gulp = require('gulp'); |
基本上圖片優化器使用方式都大同小異,參照官方 API 文件即可進行配置。