vue中路徑別名alias設(shè)置

項(xiàng)目中的圖片在build之后總會(huì)出現(xiàn)各種引用不到的問(wèn)題,報(bào)404,解決方法如下:

webpack中配置別名

...
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      'assets': path.resolve(__dirname, '../src/assets'),
      'img': resolve('static/img'),
      '%': resolve('./static')
    }
  },
...
image.png

CSS loader 會(huì)把把非根路徑的url解釋為相對(duì)路徑, 加~前綴才會(huì)解釋成模塊路徑。
在使用時(shí)加上~,告訴加載器它是一個(gè)模塊,而不是相對(duì)路徑。例如:

<img src="~img/navbar/空間分析.png" alt="" />

但是在js中使用相對(duì)路徑時(shí),不需要加~,例如:

<template>
 <img src="~assets/images/logo.jpg" />
</template>
<script>
import 'assets/css/style.css'
</script>
<style>
.logo {
 background: url(~asset/images/bg.jpg)
}
</style>

只有在template中的靜態(tài)文件地址和style中的靜態(tài)文件地址需要加~, 在script里的, 別名定義成什么就寫(xiě)什么.

在js數(shù)據(jù)中如何引用圖片

因?yàn)閣ebpack會(huì)將圖片當(dāng)做模塊來(lái)引用,所以在js中需要使用require將圖片引用進(jìn)來(lái),不能直接以字符串的形式。

let imageUrl = require("./img/marker_green.png");

具體請(qǐng)查看vue中圖片src路徑賦值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容