Vue中img的src屬性綁定與static文件夾

96

almon123 關(guān)注

2016.11.23 12:28* 字數(shù) 539 閱讀 55266評論 17喜歡 39

不少人在vue的開發(fā)中遇到這樣一個問題: img的src屬性綁定url變量听哭,然而圖片加載失敗庸汗。
大部分的情況中,是開發(fā)者使用了錯誤的寫法,例如:

<img src="{{ imgUrl }}"/>

這樣寫肯定是不對的蜒车,正確的寫法應(yīng)該使用v-bind:

<img v-bind:src="imgUrl"/>

不過涵亏,有時候即使使用了正確的語法鸦列,依舊無法顯示圖片逛尚,因為你的imgUrl使用了本地圖片的路徑。
例如搓谆,有下面一個文件結(jié)構(gòu):

[圖片上傳失敗...(image-303e1e-1536548577702)]

現(xiàn)在炒辉,我們要在App.vue里使用位于src/assets/目錄下的logo.png圖片,于是挽拔,我們設(shè):

imgUrl = './assets/logo.png'

奇怪的事情出現(xiàn)了辆脸,圖片加載失敗。查看網(wǎng)頁源代碼螃诅,發(fā)現(xiàn)一個錯誤:

[圖片上傳失敗...(image-58b7a3-1536548577702)]

看這個錯誤代碼啡氢,我們發(fā)現(xiàn)状囱,網(wǎng)頁把根域名作為相對路徑的根目錄了,然而我們文件的路徑是相對于項目文件的根目錄的倘是,當(dāng)然就找不到了亭枷。
既然這樣,那我們?nèi)フ襜uild后的dist文件夾搀崭。發(fā)現(xiàn)文件的結(jié)構(gòu)是這樣:

[圖片上傳失敗...(image-6e8e75-1536548577702)]

是不是說只要把url改成./static/img/logo.png就可以了呢叨粘?依然是不行的。打開img文件夾我們可以發(fā)現(xiàn)瘤睹,所有的文件名后都被添加上了一個隨機字符串升敲,原始的文件名已經(jīng)無法對應(yīng)了。
那么轰传,到底應(yīng)該怎么加載本地圖片呢驴党?回頭看vue-cli的文件結(jié)構(gòu),發(fā)現(xiàn)其中有一個叫做static的文件夾获茬,嘗試將logo.png放入這個文件夾港庄,然后修改imgUrl:

imgUrl = '/static/logo.png'

成功讀取到了logo.png. 執(zhí)行npm run build后查看dist文件,發(fā)現(xiàn)logo.png原封不動地放在了根目錄下恕曲。
原來鹏氧,之前的目錄結(jié)構(gòu)是有問題的,圖片一類的靜態(tài)文件佩谣,應(yīng)該放在這個static文件夾下把还,這個文件夾下的文件(夾)會按照原本的結(jié)構(gòu)放在網(wǎng)站根目錄下。這時我們再去使用/static絕對路徑茸俭,就可以訪問這些靜態(tài)文件了笨篷。
另外,如果說想在不調(diào)整目錄結(jié)構(gòu)的情況下讀取本地圖片瓣履,還有一個方法,那就是直接傳入圖片編碼练俐。即:

imgUrl = require('./assets/logo.png')

這樣可以讀到項目路徑下的圖片袖迎,但是要注意,因為CommonJS只允許使用字符串字面量腺晾,所以這種方法的靈活性依舊很差燕锥,所以還是推薦將靜態(tài)文件放入static文件夾下。

小禮物走一走悯蝉,來簡書關(guān)注我

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末归形,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鼻由,更是在濱河造成了極大的恐慌暇榴,老刑警劉巖厚棵,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔼紧,居然都是意外死亡婆硬,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門奸例,熙熙樓的掌柜王于貴愁眉苦臉地迎上來彬犯,“玉大人,你說我怎么就攤上這事查吊⌒城” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵逻卖,是天一觀的道長宋列。 經(jīng)常有香客問我,道長箭阶,這世上最難降的妖魔是什么虚茶? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮仇参,結(jié)果婚禮上嘹叫,老公的妹妹穿的比我還像新娘。我一直安慰自己诈乒,他們只是感情好罩扇,可當(dāng)我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怕磨,像睡著了一般喂饥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肠鲫,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天员帮,我揣著相機與錄音,去河邊找鬼导饲。 笑死捞高,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的渣锦。 我是一名探鬼主播硝岗,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼袋毙!你這毒婦竟也來了型檀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤听盖,失蹤者是張志新(化名)和其女友劉穎胀溺,沒想到半個月后裂七,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡月幌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年碍讯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扯躺。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡捉兴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出录语,到底是詐尸還是另有隱情倍啥,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布澎埠,位于F島的核電站虽缕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蒲稳。R本人自食惡果不足惜氮趋,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望江耀。 院中可真熱鬧剩胁,春花似錦、人聲如沸祥国。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舌稀。三九已至啊犬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間壁查,已是汗流浹背觉至。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留睡腿,地道東北人康谆。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像嫉到,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子月洛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,864評論 2 354

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