實現項目構建時圖片的最優性能方案:自動合併雪碧圖並壓縮全部圖片
雪碧圖方案:postcss-sprites
圖片壓縮方案:image-webpack-loader
複製代碼
一、安裝與啓動webpack
npm install
npm run start
複製代碼
二、頁面展現git
postcss-sprites 自動轉換css中依賴的各類本地圖片,並自動替換當前圖片的css樣式
image-webpack-loader 壓縮各類格式圖片
複製代碼
保存輸出樣式表的文件夾的相對路徑。若是它爲null,將使用CSS文件的路徑github
false
保存輸出spritesheet的文件夾的相對路徑web
./
true
您的基本路徑將用於具備絕對CSS網址的圖像算法
./
false
指示url是否應該與當前CSS上下文或原始CSS樣式表文件相對,Options:
file|rule
npm
file
false
定義過濾器函數,用於處理樣式表中建立的圖像列表,每一個函數都必須返回一個Promise應該被解析或拒絕的函數。bash
[]
false
定義將操做樣式表中建立的圖像列表的組函數,每一個函數都必須返回一個Promise應該用字符串解析或拒絕的函數svg
[]
false
定義是否在文件名中搜索視網膜標記函數
false
false
鉤子函數配置
{}
false
容許重寫生成的spritesheet數據的鉤子。若是返回值爲string,則將其用做文件路徑值,若是返回值爲object,則將其用做將與當前spritesheet數據合併的值。返回值也能夠是Promise,它應返回字符串或對象。
null
false
容許重寫圖像的CSS輸出
null
false
雪碧圖配置
{}
false
配置雪碧圖轉換引擎
pixelsmith
false
配置雪碧圖算法
binary-tree
false
配置雪碧圖間隔的空間
0
false
引擎默認參數配置
{}
false
引擎導出選項
{}
false
生成SVG的基礎配置,具體事例見連接 github.com/jkphl/svg-s…
將插件輸出打印到控制檯。
false
false
1. 壓縮效率都爲 67% 左右和 tinypng 在線壓縮數據一致
2. 壓縮以後圖片基本無損
3. 會致使webpack打包時間變長,建議線上壓縮
4. 可配置壓縮質量 quality,設爲75質量仍是不錯的,體積可再減少 15%
5. 觀其代碼發現圖片資源都是本地壓縮,安裝各種圖片的壓縮工具
複製代碼
官方配置說明相對清晰友好,點擊文檔