vue中動(dòng)態(tài)引入圖片地址

概要

兩種情況,在public下似谁,或src下,各種都有坑哼蛆;

注意:下述內(nèi)容均以vue-cli默認(rèn)配置為前提

一、圖片在public下咆爽,路徑需以/開頭

public 下的文件(包括圖片)會(huì)被直接復(fù)制到dist下梁棠,而不做其他處理,如:原來在public/myImage下的文件斗埂,會(huì)被復(fù)制到dist/myImage下符糊。這意味著我們只能通過絕對(duì)路徑引用 (使用 / 開頭的路徑)。如:

<img src = '/myImage/xxx.jpg'>

當(dāng)然呛凶,示例沒有使用動(dòng)態(tài)路徑男娄,動(dòng)態(tài)路徑同理;

巨坑:需要部署到web服務(wù)器的根路徑下

根路徑與二級(jí)路徑的簡(jiǎn)單區(qū)別:根路徑漾稀,就像Nginxhtml下,tomcatwebapp,而在htmlwebapp下再創(chuàng)建文件夾用于放置打包完的文件(如:html/ui,webapp/ui)模闲,則為二級(jí)路徑。

如果需要部署到二級(jí)路徑下崭捍,則需要在路徑上加二級(jí)路徑的前綴尸折,假如二級(jí)路徑為OA,則上述圖片需要設(shè)為:

<img src = '/OA/myImage/xxx.jpg'>

這樣往往并不理想,因?yàn)橐粊矶鄠€(gè)地方引用缕贡,萬一改二級(jí)路徑名稱翁授,各個(gè)地方都得改,不利于維護(hù)晾咪,解決辦法是把這個(gè)二級(jí)路徑定義為一個(gè)常量收擦,可以放到環(huán)境變量里(.env文件),也可以放到一個(gè)公共js文件谍倦,甚至放到package.json里塞赂。這樣就可以到處引用了。

問題到此結(jié)束了嗎昼蛀?沒有宴猾!

因?yàn)楫a(chǎn)品部署是運(yùn)維人員做的,部署的二級(jí)路徑是不固定的叼旋,這個(gè)值由運(yùn)維人員決定仇哆。而運(yùn)維人員拿到的是打包完了的壓縮文件,所以這個(gè)配置二級(jí)路徑的文件必須保持不變(文件名和內(nèi)容保持不變)夫植,你一定想到了讹剔,那就是把文件放到public下油讯!具體做法是:

    1. 在public下創(chuàng)建env.js
    1. 在env.js里定義publicPath
    1. 把publicPath掛載到window下
    1. 在index.html里用script標(biāo)簽引入
  • 5 .引用:使用window.publicPath即可

簡(jiǎn)易代碼如下:

//env.js
//單獨(dú)定義是為了便于運(yùn)維人員修改,使用var而不是const,是為了兼容低版本瀏覽器延欠,因?yàn)檫@部分代碼并不會(huì)被轉(zhuǎn)為ES5

var publicPath='/ui'
window.publicPath = publicPath
<!--index.html-->
<script src="<%= BASE_URL %>env.js"></script>

二陌兑、圖片在 src 下,使用require當(dāng)模塊引入

一般把圖片放在src/assets目錄下

使用require()引入,示例:

//path是在父組件傳過來的參數(shù)
 const imgName = this.path.slice(1);
 const src = require(`../../../assets/menuImage/${imgName}.gif`)

注意事項(xiàng)

1. require里最多進(jìn)行一次計(jì)算

就上述示例由捎,假如require里有兩個(gè)變量兔综,那么資源找不到,假如我把公共路徑前綴放到一個(gè)變量里:

//path是在父組件傳過來的參數(shù)
const imgName = this.path.slice(1);
const publicPath = '../../../assets/menuImage/';
const src = require(`${publicPath }${imgName}.gif`);

上述代碼無法正確找到文件D辍H沓邸!

2. 可以使用@为居,但不能使用/src

默認(rèn)碌宴,@代表/src,可以使用@杀狡,但是如果使用/src會(huì)無法找到資源蒙畴。@應(yīng)該是按相對(duì)路徑處理了。

//path是在父組件傳過來的參數(shù)
 const imgName = this.path.slice(1);
 const src = require(`@/assets/menuImage/${imgName}.gif`)

上述示例可以正確找到資源呜象。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末膳凝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恭陡,更是在濱河造成了極大的恐慌蹬音,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件休玩,死亡現(xiàn)場(chǎng)離奇詭異著淆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拴疤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門永部,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呐矾,你說我怎么就攤上這事苔埋。” “怎么了蜒犯?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵组橄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我罚随,道長(zhǎng)玉工,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任淘菩,我火速辦了婚禮遵班,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己费奸,他們只是感情好弥激,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著愿阐,像睡著了一般微服。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缨历,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天以蕴,我揣著相機(jī)與錄音,去河邊找鬼辛孵。 笑死丛肮,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的魄缚。 我是一名探鬼主播宝与,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冶匹!你這毒婦竟也來了习劫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤嚼隘,失蹤者是張志新(化名)和其女友劉穎诽里,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體飞蛹,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谤狡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卧檐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片墓懂。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖泄隔,靈堂內(nèi)的尸體忽然破棺而出拒贱,到底是詐尸還是另有隱情,我是刑警寧澤佛嬉,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布逻澳,位于F島的核電站,受9級(jí)特大地震影響暖呕,放射性物質(zhì)發(fā)生泄漏斜做。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一湾揽、第九天 我趴在偏房一處隱蔽的房頂上張望瓤逼。 院中可真熱鬧笼吟,春花似錦、人聲如沸霸旗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诱告。三九已至撵枢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間精居,已是汗流浹背锄禽。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靴姿,地道東北人沃但。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像佛吓,于是被迫代替她去往敵國(guó)和親宵晚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容