不少人在vue的開發中遇到這樣一個問題: img的src屬性綁定url變量,然而圖片加載失敗。
<img src="{{ imgUrl }}"/>
原因:寫法錯誤
解決:應該使用v-bind
<img :src="imgUrl"/>
但是有時這種寫法圖片也加載不出來
原因:因為你的imgUrl使用了本地圖片的路徑。
解決方案1:將圖片放在src下的static文件夾內
原理:用build打包后的dist文件夾下,文件的位置發生了變動,但是static文件夾原封不動,即static文件夾為服務器暴露出的靜態資源目錄
解決方案2:直接傳入圖片編碼
imgUrl = require('./assets/logo.png')
這樣可以讀到項目路徑下的圖片,但是要注意,因為CommonJS只允許使用字符串字面量,所以這種方法的靈活性依舊很差,所以還是推薦將靜態文件放入static文件夾下。