您好,登錄后才能下訂單哦!
最近在制作一個自己的個人博客的時候遇到這么一個問題, 在CSS中使用了相對路徑來充當背景圖片, 如下所示:
然后將整個工程使用webpack打包之后, 在瀏覽器上運行卻報錯了, 報錯如下:
也就是說, 打包之后這個圖片文件找不到了, 那么原因出在哪里呢? 先來看一下我在webpack.config.js文件中的配置:
在這里其實我的loader并沒有使用錯誤的, 圖片對應的就是使用url-loader來處理. 那么再來看一下通過webpack打包之后的目錄:
發現dist文件夾中出現了我們想要打包生成的一個文件build.js, 同時還額外的生成了一個圖片文件, 這個文件就是剛剛我們在CSS中
指定的一個背景圖片. 通過瀏覽器的報錯信息可以發現, build.js為我們指定的這個圖片的地址明顯不正確, 在默認情況下, 打包過程會
將使用到的圖片拷貝一份放到output的path指定的目錄下, 然而在build.js中引用的圖片路徑確實整個工程文件的根目錄, 因此自然引
用不到. 那么應該如何處理呢? 在webpack.config.js文件中output對象中指定publicPath屬性, 它用來指定靜態資源 (圖片等) 的發布地
址, 當配置過該屬性后,打包文件 (也就是build.js) 中所有通過相對路徑引用的資源都會被配置的路徑所替換。因此通過如此設置
之后build.js中引用該圖片的路徑會在一開始的根目錄的路徑后面添加publicPath指定的路徑, 所以我們在webpack.config.js添加
下圖中的紅色框中的內容即可:
那么最終運行起來就能夠通過dist文件夾找到生成的圖片了!
以上這篇淺談webpack打包過程中因為圖片的路徑導致的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。