溫馨提示×

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

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

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

發(fā)布時(shí)間:2020-10-13 06:26:26 來(lái)源:腳本之家 閱讀:185 作者:蕭了個(gè)曉 欄目:web開發(fā)

本文介紹了vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案,分享給大家,具體如下:

1 本地圖片動(dòng)態(tài)綁定img的src屬性

一般我們?cè)趆tml中或者vue組件文件中引用圖片是這樣,這是不需要做特別處理的

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

我們將圖片放入assets中或者重新建立個(gè)文件夾img什么的都可以,隨意~

但是我們這時(shí)候可能會(huì)有個(gè)需求就是我們要?jiǎng)討B(tài)綁定一組本地圖片

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

1 將圖片當(dāng)成模塊先引進(jìn)來(lái),再綁定

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

但是這種做法局限性比較大,模塊化差,代碼不好看 。

如果我做的是純靜態(tài)的網(wǎng)站展示,有許多的本地靜態(tài)資源需要加載,里面包括本地?cái)?shù)據(jù)和本地圖片混合的好幾組,那不是要麻煩死~

1.1 所以我們需要三步

第一步我們?cè)趕rc下面建立一個(gè)json文件夾里面放置靜態(tài)的json數(shù)據(jù)

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

第二步將所有的靜態(tài)圖片資源放在和src同級(jí)目錄下的static文件夾下

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

第三步你的路徑可以寫成自然的'../../static/img/xxx.png' 也可以按照紅框中的寫法(這種寫法對(duì)應(yīng)的是編譯后文件的目錄)

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

這樣子按照平常的動(dòng)態(tài)綁定src屬性你的圖片路徑在開發(fā)模式下和生產(chǎn)模式下的圖片資源路徑都是不會(huì)出問題的

1.2 小問題

但也有個(gè)問題就是這種方式引用圖片是不會(huì)被url等加載器處理的

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

上面的紅框都是這種方式,最下面的紅框是用require的方式將圖片引進(jìn)來(lái)的(被當(dāng)成模塊被url-loader處理,加入了hash值)

這個(gè)需要看網(wǎng)站本身的性質(zhì)和具體業(yè)務(wù)以及個(gè)人取舍了,當(dāng)然也可以混合著用,靈活一點(diǎn)沒有死的處理方法!

2 css中的本地圖片路徑在打包后的問題

你的項(xiàng)目在開發(fā)模式下css中用url()引用圖片是正常的,但是打包后圖片路徑卻并沒有被處理或者說(shuō)特別怪異

導(dǎo)致本地圖片資源無(wú)法加載,是不是有這樣的困惑?

只需要在原有的一個(gè)插件上添加一段代碼即可:

詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問題解決方案

這個(gè)插件大家又應(yīng)該都比較熟悉,就是將css從打包中單獨(dú)提取出來(lái)作為一個(gè)文件夾,上面這個(gè)是vue-cil的編譯模板,大家可以根據(jù)這個(gè)參考一下

publicPath這個(gè)配置屬性的具體其他用法大家可以去官網(wǎng)看看,或者看看源碼。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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