淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問題
博主最近手頭再做一個(gè)項(xiàng)目,需要調(diào)用天氣接口,并且還要?jiǎng)討B(tài)顯示天氣相關(guān)圖片icon。
本來以為沒什么大問題,結(jié)果硬生生被這個(gè)動(dòng)態(tài)圖片路徑搞得民不聊生(博主還是 too young,too simple~),給出效果圖:

就是那個(gè)紅框選中的那個(gè)天氣狀況圖標(biāo)icon要根據(jù)當(dāng)前城市獲取當(dāng)前城市天氣狀態(tài)碼,再根據(jù)當(dāng)前城市狀態(tài)碼找到這個(gè)對(duì)應(yīng)的天氣圖標(biāo)icon~~
按照一般的開發(fā)模式,靜態(tài)圖片路徑是相對(duì)路徑還是絕對(duì)路徑都可以,因?yàn)閳D片路徑是靜態(tài)的是死的,所以webpack去找這個(gè)圖片路徑的時(shí)候是能找到的。
但是博主這個(gè)路徑是動(dòng)態(tài)的,博主在computed給出一個(gè)拼接了變量的路徑,項(xiàng)目啟動(dòng)在瀏覽器下死活出不了這個(gè)圖片,死活都是404~~~

就是上述這樣的路徑是不行的,一直是404,原因也講了點(diǎn),vue-cli3中內(nèi)置的webpack會(huì)把圖片當(dāng)做一個(gè)模塊引用,然后打包等等,路徑就不對(duì)了,我們的靜態(tài)資源是不需要打包等等的,
靜態(tài)資源是直接被webpack copy到對(duì)應(yīng)的靜態(tài)資源文件夾下,所以根本原因就在于,用了動(dòng)態(tài)路徑的圖片,webpack將它認(rèn)作為一個(gè)模塊打包了,路徑錯(cuò)亂,所以404。
找到了原因就很簡單了,解決這個(gè)動(dòng)態(tài)路徑圖片404的方案其實(shí)vue-cli3官網(wǎng)就有寫過(vie官方人員還是相當(dāng)靠譜的,雖然坑也多~~~)
其實(shí)很簡單:
1.

引入項(xiàng)目的根路徑前綴 baseUrl
baseUrl: process.env.BASE_URL
2.


把你所用的動(dòng)態(tài)圖片img放到public目錄下
3.

修改你的動(dòng)態(tài)路徑圖片地址
fullUrl: function() {
// `this` 指向 vm 實(shí)例
return `${this.baseUrl}cond-icon-heweather/${this.twCode}.png`;
}
4.

將圖片路徑綁定到你的頁面上去,這里博主還加了一個(gè)sync修飾詞,有興趣的同學(xué)去研究一下這個(gè)sync干什么用的。點(diǎn)我
這樣就可以解決引入動(dòng)態(tài)圖片img404這個(gè)令人頭疼的問題啦~
以上這篇淺談在vue-cli3項(xiàng)目中解決動(dòng)態(tài)引入圖片img404的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
VSCode前端Vue項(xiàng)目引入Element-ui組件三步簡單操作方法
elementui相當(dāng)于一個(gè)庫,封裝好的內(nèi)容,我們引入到vue項(xiàng)目中,就可用庫中的內(nèi)容,這篇文章主要給大家介紹了關(guān)于VSCode前端Vue項(xiàng)目引入Element-ui組件的三步簡單操作方法,需要的朋友可以參考下2024-07-07
Vue 動(dòng)態(tài)路由的實(shí)現(xiàn)及 Springsecurity 按鈕級(jí)別的權(quán)限控制
這篇文章主要介紹了Vue 動(dòng)態(tài)路由的實(shí)現(xiàn)以及 Springsecurity 按鈕級(jí)別的權(quán)限控制的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
vue3使用threejs實(shí)現(xiàn)3D卡片水平旋轉(zhuǎn)效果的示例代碼
這篇文章主要介紹了在vue3中使用threejs實(shí)現(xiàn)3D卡片水平旋轉(zhuǎn)效果,文中通過代碼示例講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04

