作為前端構(gòu)建工具不可或缺的一個(gè)環(huán)節(jié),自動(dòng)生成css sprites圖片不僅僅能夠減少頻繁的人工操作,還能夠避免多人協(xié)作時(shí)對(duì)同一個(gè)sprites圖片維護(hù)過程中因個(gè)人原因引起的圖片不規(guī)范問題。58到家前端工程化解決方案boi的自動(dòng)css sprites功能基于webpack實(shí)現(xiàn),本文記錄一下實(shí)現(xiàn)方案的各個(gè)細(xì)節(jié)以及需要注意的地方。

1. 功能需求

css sprites的功能需求簡(jiǎn)單說就是將style中引用的散列小圖標(biāo)合并成一張sprites圖片。從功能角度來講比較單一,從實(shí)現(xiàn)角度來講需要具備以下幾點(diǎn):

  • 對(duì)style文件進(jìn)行資源依賴分析,能夠得出style中引用的圖片資源;

  • style文件引用的圖片并非都是圖標(biāo),其他的比如背景圖等資源不應(yīng)該被sprites合并。所以必須有明確的標(biāo)識(shí)可以區(qū)分圖標(biāo)與非圖標(biāo)資源。

對(duì)于第一點(diǎn),webpack本身就具備依賴分析的功能,所以無需自行實(shí)現(xiàn)。那么如何設(shè)計(jì)明確的標(biāo)識(shí)以便區(qū)分資源類型呢?

2. 用戶至上的設(shè)計(jì)原則

上文提到的資源標(biāo)識(shí),我們首先看一下業(yè)內(nèi)的同類產(chǎn)品是如何實(shí)現(xiàn)的。以fis為例,請(qǐng)看以下代碼:

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式