溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

發(fā)布時(shí)間:2020-12-21 14:13:21 來源:億速云 閱讀:575 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要介紹了圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

最近在制作一個(gè)自己的個(gè)人博客的時(shí)候遇到這么一個(gè)問題, 在CSS中使用了相對(duì)路徑來充當(dāng)背景圖片, 如下所示:

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

然后將整個(gè)工程使用webpack打包之后, 在瀏覽器上運(yùn)行卻報(bào)錯(cuò)了, 報(bào)錯(cuò)如下:

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

也就是說, 打包之后這個(gè)圖片文件找不到了, 那么原因出在哪里呢? 先來看一下我在webpack.config.js文件中的配置:

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

在這里其實(shí)我的loader并沒有使用錯(cuò)誤的, 圖片對(duì)應(yīng)的就是使用url-loader來處理. 那么再來看一下通過webpack打包之后的目錄:

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

發(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)容即可:

圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦

那么最終運(yùn)行起來就能夠通過dist文件夾找到生成的圖片了!

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享圖片路徑導(dǎo)致webpack打包錯(cuò)誤怎么辦內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(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)容。

AI