簡體   English   中英

Webpack無法解析JS變量提供的路徑

[英]Webpack not resolving paths supplied by JS variable

我正在使用vue和ionic制作一個應用程序,但是當嘗試加載資產時,路徑無法解析。

<template>
    <div id="index">

        <img :src="image.src" v-for="image in images">

    </div>
</template>

<script>
export default {

    name: 'Inicio',

    data() {
        return {
            images: [
                {src: '@/assets/xxx.png'},
                {src: '@/assets/xxxx.png'},
                {src: '@/assets/xxx.png'}
            ]
        }
    }
}
</script>

src屬性中的路徑看起來像在var '@/assets/xxx.png'鍵入的路徑。

但是,如果我直接執行此操作,請在圖像中手動鍵入src,例如<img src="@/assets/xxx.png">它會正確加載圖像。

您不能使用v-for引用靜態資產,因為webpack需要在運行時之前重寫靜態路徑。 image.src的值將僅在運行時讀取並解析為模板,因此沒有從webpack進行編譯以將相對路徑轉換為bundle中的實際路徑的情況。

一種解決方案是使用require()

<template>
    <div id="index">

        <img :src="image.src" v-for="image in images">

    </div>
</template>

<script>
export default {

    name: 'Inicio',

    data() {
        return {
            images: [
                {src: require('@/assets/xxx.png') },
                {src: require('@/assets/xxxx.png') },
                {src: require('@/assets/xxx.png') }
            ]
        }
    }
}
</script>

演示沙箱: https : //codesandbox.io/s/811px8kn88

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM