#求教# 公共less模組中的背景圖片地址應該怎麼處理?

SBDavid發表於2018-05-29

問題是這樣的 ,我有一個公共元件模組,其中包含less寫的樣式而且樣式中有url形式的背景圖。其他專案在引用這個模組的時候,會引入這個less檔案,專案使用webpack打包後會單獨抽離出css樣式檔案(ExtractTextPlugin)。這就導致一個問題,背景圖片使用的相對地址在各個專案中無法找到的,也就是背景圖片報404錯誤。

網上的解決方案

1. 絕對地址

最簡單的但是把圖片上傳到檔案伺服器,然後使用絕對地址。但是每次更新圖片都要上傳伺服器,而且無法控制多個版本。

2. 使用字型檔案

這種方法存在跨域問題,不適合公共元件樣式。

3. base64轉碼

如果使用webpack對公共元件模組進行打包的話,我們可以把file-loader把圖片轉為base64,然後把css一起打包進js。但是如果背景圖片被多次引用會出現許多重複的base64圖片。而且外部專案直接引入es6模組,所以公共模組本身沒有必要打包。

各位大佬有沒有什麼好的方案,求分享一下經驗啊。

相關文章