vue render載入img的src路徑問題

熊xing發表於2020-10-29

一般圖片我們都在src下的assets資料夾下images下

html中我們這樣使用沒問題

  <img src="../../../../assets/images/know/_bji.png"style="width:24px;border-radius:5px;"/>
 //  ../../../../這個路徑就根據自己在哪個檔案中獲取圖片來自行寫了

vue render配置img的src路徑方法如下:

  render: (h, params) => {
     return h('div', [
            h('img', {
             style: {
                 width: "20px",
                 verticalAlign: "middle"
                },
             attrs: {
                 src: '../../../../assets/images/docx.png'
             }
         })
     ]);
 } 

結果: 圖片載入不出來,百度了下大多不是我想要的答案,最後是assets與static的區別

注意:如果把圖片放在assets與static中,html頁面可以使用;但在動態繫結中,assets路徑的圖片會載入失敗,webpack使用的是commenJS規範,必須使用require才可以,具體參考:這裡有更詳細的解釋

然後解決方法: 專案中img圖片挪下位置放到static/images下

  render: (h, params) => {
     return h('div', [
            h('img', {
             style: {
                 width: "20px",
                 verticalAlign: "middle"
                },
             attrs: {
                 src: '../../../../static/images/docx.png'  
                    // 更改圖片地址同步專案中的圖片也要挪位置
             }
         })
     ]);
 } 

相關文章