當我剛剛使用Vue.js開始,這是簡單的加載靜態IMG當有足夠的訪問資產的文件夾,如我的標誌:Vue.js資產的文件路徑使用V-的
<img src="../assets/logo.png">
不過,我使用v-用於創建使用樣本數據的幾個列表項「M,這是我的模板:
<ul>
<li v-for="item in items" :key="item.id">
<img v-bind:src="item.img" v-bind:alt="item.title">
<h2 class="md-title">{{item.title}}</h2>
</li>
</ul>
,這是一樣的.vue文件中聲明的樣本數據:
export default {
name: 'front',
data() {
return {
items: [
{title: 'Google Pixel', img: '../assets/pixel.png', id: 1},
{title: 'Samsung Galaxy S8', img: '../assets/s8.png', id: 2},
{title: 'iPhone 7', img: '../assets/iphone.png', id: 3}
]
}
}
}
我的問題是,imgs所有404這似乎很奇怪,因爲相同的路徑在靜態imgs上工作。如果我使用絕對路徑,如本它的工作原理
https://media.carphonewarehouse.com/is/image/cpw2/pixelBLACK?$xl-standard$
已經通過,我發現這個https://vuejs-templates.github.io/webpack/static.html
這或許可以解釋它的文檔看了,但我已經試過各種方法,沒有任何運氣提示:
資產解決規則
相對URL,例如./assets/logo.png將被解釋爲模塊依賴項。它們將被替換爲基於您的Webpack輸出配置的自動生成的URL。
未加前綴的URL,例如, assets/logo.png將被視爲相對URL並翻譯爲./assets/logo.png。
以〜爲前綴的URL被視爲模塊請求,類似於require('some-module/image.png')。如果你想利用Webpack的模塊解析配置,你需要使用這個前綴。例如,如果您有資產的解析別名,則需要使用它來確保尊重別名。
根相對URL,例如, /assets/logo.png根本不處理。
這是用的WebPack而不是VUE的問題嗎?看起來很瘋狂,一個很容易使用的庫會使文件路徑變得複雜。