今天遇到一個問題,是關於在Vue的img標籤中,使用:src綁定本地靜態資源圖片的操作
我開始在data()中這樣寫的,並沒有把圖片加載出來:
imgUrl: ('../../../assets/Ima-swiper/swiper4.jpg')
效果如圖:
隨後,代碼改爲:
imgUrl: require('../../../assets/Ima-swiper/swiper4.jpg')
效果顯示:
我很好奇這是因爲什麼???
當我直接在“src”中填寫地址時,可以加載圖片,但是使用“:src”綁定屬性填寫地址時,同樣的地址符號,就失敗了,
但是瀏覽器並沒有報錯啊~~~
後來我找到原因了,是因爲靜態資源需要放大static文中,在使用imgUrl: ('../../../assets/Ima-swiper/swiper4.jpg')就不會出錯,可以把圖片加載出來,如果自己創建了圖片保存文件,就需要使用imgUrl: require('../../../assets/Ima-swiper/swiper4.jpg')才能把圖片加載出來,但是裏面只允許使用字符串字面量,所以這種方法的靈活性依舊很差。這也說明了項目文件的規範性。
最後。總結幾個可以解決本地圖片路徑顯示不出來的問題:
1.把圖片放在src同級的static文件夾下。
2.把圖片放在cdn上,把網絡地址存在imgUrl裏,然後直接<img :src="imgUrl">去展示。
3.圖片放在assets文件夾,然後在data裏面require進圖片