您好,登錄后才能下訂單哦!
這篇文章主要介紹了圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
最近在制作一個(gè)自己的個(gè)人博客的時(shí)候遇到這么一個(gè)問題, 在CSS中使用了相對(duì)路徑來充當(dāng)背景圖片, 如下所示:
然后將整個(gè)工程使用webpack打包之后, 在瀏覽器上運(yùn)行卻報(bào)錯(cuò)了, 報(bào)錯(cuò)如下:
也就是說, 打包之后這個(gè)圖片文件找不到了, 那么原因出在哪里呢? 先來看一下我在webpack.config.js文件中的配置:
在這里其實(shí)我的loader并沒有使用錯(cuò)誤的, 圖片對(duì)應(yīng)的就是使用url-loader來處理. 那么再來看一下通過webpack打包之后的目錄:
發(fā)現(xiàn)dist文件夾中出現(xiàn)了我們想要打包生成的一個(gè)文件build.js, 同時(shí)還額外的生成了一個(gè)圖片文件, 這個(gè)文件就是剛剛我們?cè)贑SS中
指定的一個(gè)背景圖片. 通過瀏覽器的報(bào)錯(cuò)信息可以發(fā)現(xiàn), build.js為我們指定的這個(gè)圖片的地址明顯不正確, 在默認(rèn)情況下, 打包過程會(huì)
將使用到的圖片拷貝一份放到output的path指定的目錄下, 然而在build.js中引用的圖片路徑確實(shí)整個(gè)工程文件的根目錄, 因此自然引
用不到. 那么應(yīng)該如何處理呢? 在webpack.config.js文件中output對(duì)象中指定publicPath屬性, 它用來指定靜態(tài)資源 (圖片等) 的發(fā)布地
址, 當(dāng)配置過該屬性后,打包文件 (也就是build.js) 中所有通過相對(duì)路徑引用的資源都會(huì)被配置的路徑所替換。因此通過如此設(shè)置
之后build.js中引用該圖片的路徑會(huì)在一開始的根目錄的路徑后面添加publicPath指定的路徑, 所以我們?cè)趙ebpack.config.js添加
下圖中的紅色框中的內(nèi)容即可:
那么最終運(yùn)行起來就能夠通過dist文件夾找到生成的圖片了!
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。