webpack配置-打包背景圖片路徑問題


問題

項目在開發環境下工作正常,當打包后圖片不見了,檢查元素后發現路徑出錯了。圖片路徑是這樣:background: url(/static/img/bg_camera_tip.bd37151.png),但該路徑下文件並不存在。

打包后文件目錄如下:

可以看到背景圖片的路徑應該是../../static而實際卻是/static,找到原因后就好解決了

查看build目錄下webpack.base.conf.js的配置,圖片文件會經過url-loader處理。

它的作用是當文件大小小於limit限制時會返回一個base64串,其實就是把圖片資源編碼為base64串放在CSS文件里,這樣就可以減少一次網絡請求,因為每一張圖片都是需要從服務端去下載的。但是如果文件太大了就會導致base64串很長,那放在CSS文件里面就會導致文件很大,CSS的文件下載時間變長,就得不償失了,所以會有一個limit參數,在這個范圍內的才會被轉成base64串,它的單位是字節。對於這個問題,該loader還提供了一個publicPath參數,目的是修改引用的圖片地址,默認是當前路徑,那直接改它就可以了,即在options節點下添加一個參數publicPath: '../../'。

問題解決鏈接   https://blog.csdn.net/puyahua/article/details/80076033

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM