vue模板中對圖片src的動態(tài)引入(路徑)問題

pay attention: 書寫本文時vue的版本還是2.X。

在做移動端項目時,底部導航的名稱和圖片習慣于用json文件中引入數(shù)據(jù)。而在vue項目中,當要在<template>中動態(tài)引入圖片時,若直接從json文件中導入item.src字段為'assets/image/XX.png'的值到:src="XXX"中時,會出現(xiàn)圖片404的情況。
如:
<a href="javascript:;" v-for="item in navList">
<img :src="item.src">
</a>
這么循環(huán)引入img圖片,頁面會報404,表明從指定的路徑上去找是找不到圖片的。

如何解決呢?

  1. 我們都知道,如果是import 或者 require 圖片路徑進來,將其保存為一個變量,然后再賦值到img標簽上是沒有問題的。有此可見,如果我們將json中的圖片路徑用import或者require的方式包裝。如:src="require('assets/image/my.png')"。ok,找到解決辦法了。但是我們無法在json文件中使用require或import。json是一種通用的跨平臺的數(shù)據(jù)傳輸格式,它支持的是純數(shù)據(jù)。好在我們可以用es6的方法,把數(shù)據(jù)存儲為js文件然后export出去便可。要記住的是,此方法對于src目錄下而言才是管用的。這里所謂的src是指要通過webpack打包的那個根目錄。用這種方法實現(xiàn),開發(fā)環(huán)境和生產(chǎn)環(huán)境打包都可以很好配置。

  2. 如果我們把靜態(tài)圖片資源存放在和src平級的目錄(比如叫static)下,即不存放在webpack要打包的范圍內(nèi),那么直接引入圖片路徑無需用import或require包裝,這也是ok的。如<img src="/static/my.png" />。由于放在src目錄外,它不被webpack打包進去,如此一來在部署到nginx服務器上時需要單獨scp這個static目錄。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1 Webpack 1.1 概念簡介 1.1.1 WebPack是什么 1、一個打包工具 2、一個模塊加載工具 3...
    Kevin_Junbaozi閱讀 7,006評論 0 16
  • 在現(xiàn)在的前端開發(fā)中,前后端分離、模塊化開發(fā)、版本控制、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,653評論 1 32
  • 姓名:龔珊珊 公司:寧波大發(fā)化纖有限公司 《六項精進》301期感謝組學員 【日精進打卡第95天】 【知~學習】 《...
    Miss曲奇閱讀 188評論 0 0
  • 今天樓主同寢室小美女發(fā)到群中一張圖片,主意是抒發(fā)一下對小情侶公然卿卿我我的行為的鄙視,畢竟作為一名單身狗,也是傷不...
    菲子菲閱讀 321評論 0 1
  • 上一篇我們說的是學習方法,但是有了學習方法有的人還是學不會、學不好。這一篇我們談談談任務驅動學習。 有...
    Nancypower閱讀 196評論 0 0

友情鏈接更多精彩內(nèi)容