最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue?圖片路徑?“@/assets“?報錯問題及解決

 更新時間:2022年09月22日 09:25:27   作者:小艾菜菜菜  
這篇文章主要介紹了vue?圖片路徑?“@/assets“?報錯問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

問題

在更改背景圖片時寫的圖片相對路徑是這樣的:

由于@在webpack 被resolve.alias配置下等價于/src,然后直接運行了程序結果報錯了

報錯狀態(tài):

大概意思就是說,無法解析 asset 包

解決

經過查詢資料找到了解決辦法: 

由于相對根目錄的路徑 “/assets/background.png” webpack不解析 

此時需要在@前加上“~” 

因為帶“~”的路徑 “~@/assets/background.png” 被webpack解析為 require(src/assets/background.png) 動態(tài)引入

就能成功的解決上面的問題

為什么

至于為什么會這樣 

請看繼續(xù)往下看: 

注意:絕對路徑方式導入的圖片需要存儲在 publiic 文件夾下

靜態(tài)導入文件路徑

<img src="../../assets/1.png" />
<!-- 或者如下 -->
<img src="@/assets/1.png" />

靜態(tài)導入絕對路徑

<img src="images/1.png" />
<!-- 或者如下 -->
<img src="/images/1.png" />

動態(tài)導入相對路徑

方法1(require 寫在html中):

<img :src="require('../../assets/' + imageUrl)" />
<script>
export default {
	data() {
        return {
            // 圖片路徑變量,真實路徑為 assets/images/1.png
            img: 'images/1.png',
            imageUrl: require('../../assets/' + this.img)
        }
    }
}
</script>

動態(tài)導入絕對路徑

<img :src="imageUrl" />
<script>
export default {
	data() {
        return {
            // 圖片路徑變量,真實路徑為 public/images/1.png
            imageUrl:'images/1.png'
            // 或者 imageUrl:'/images/1.png'
        }
    }
}
</script>

需要明白以下幾點內容:

  • 1.什么是相對路徑和絕對路徑?
  • 2.相對路徑上加 @ 為什么不一樣?
  • 3.動態(tài)加載時為什么使用require?

1.什么是相對路徑和絕對路徑?

簡單的說就是:

  • 相對路徑:以 .開頭的,例如./、../之類的。就是相對于自己的目標文件的位置。 
  • 絕對路徑: 以/開頭的。就是目標文件的真實路徑,表示當前站點的真是根目錄。

2.相對路徑加上 @ 為什么不一樣?

請仔細閱讀以下內容:

3.動態(tài)加載時為什么使用require?

<img :src="'./assets/images/02.jpg'" alt=""> // 錯誤的引入方式
<!-- 編譯后 -->
<img src="./assets/images/02.jpg" alt="">
<!-- 注意(絕對路徑) -->
<img :src="'images/02.jpg'" alt="">	// 正確的引入方式
<!-- 編譯后 -->
<img src="images/02.jpg" alt="">

src調用了v-bind指令處理其內容,相對路徑不會被webpack的file-loader處理。 

編譯后,資源目錄assets結構已變,而代碼的目錄沒變,所以相對路徑這種方式不行,而絕對路徑沒有問題

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • vue 項目中的this.$get,this.$post等$的用法案例詳解

    vue 項目中的this.$get,this.$post等$的用法案例詳解

    vue.js的插件應該暴露一個install方法。這個方法的第一個參數是vue構造器,第二個參數是一個可選的選項對象,首頁要安裝axios,本文結合案例代碼給大家詳細講解vue 中的this.$get,this.$post等$的用法,一起學習下吧
    2022-12-12
  • Vue2中實現dialog的封裝方式

    Vue2中實現dialog的封裝方式

    這篇文章主要介紹了Vue2中實現dialog的封裝方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vue點擊項目唯一id生成器nanoid的使用方式

    vue點擊項目唯一id生成器nanoid的使用方式

    這篇文章主要介紹了vue點擊項目唯一id生成器nanoid的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue3的setup語法糖簡單封裝ckediter的過程

    vue3的setup語法糖簡單封裝ckediter的過程

    Vue3官方提供了 script setup 語法糖,只需在script標簽中添加setup,組件只需引入不用注冊,屬性和方法也不用返回,今天通過本文給大家分享vue3的setup語法糖簡單封裝ckediter的過程,感興趣的朋友一起看看吧
    2023-10-10
  • Flutter部件內部狀態(tài)管理小結之實現Vue的v-model功能

    Flutter部件內部狀態(tài)管理小結之實現Vue的v-model功能

    本文是 Flutter 部件內部狀態(tài)管理的小結,從部件的基礎開始,到部件的狀態(tài)管理,并且在過程中實現一個類似 Vue 的 v-model 的功能,感興趣的朋友跟隨小編一起看看吧
    2019-06-06
  • vue+element-ui表格自定義列模版的實現

    vue+element-ui表格自定義列模版的實現

    本文主要介紹了vue+element-ui表格自定義列模版的實現,通過插槽完美解決了element-ui表格自定義列模版的問題,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Vue+ElementUI?實現分頁功能-mysql數據

    Vue+ElementUI?實現分頁功能-mysql數據

    這篇文章主要介紹了Vue+ElementUI?實現分頁查詢-mysql數據,當數據庫中數據比較多時,就每次只查詢一部分來緩解服務器和頁面壓力。這里使用elementui的?Pagination?分頁?組件,配合mysql的limit語句,實現分頁查詢mysql數據,下面來看看具體實現過程,希望對大家學習有所幫助
    2021-12-12
  • vue如何監(jiān)聽某個元素的大小變化

    vue如何監(jiān)聽某個元素的大小變化

    這篇文章主要介紹了vue如何監(jiān)聽某個元素的大小變化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue組件間的樣式沖突污染問題詳解

    Vue組件間的樣式沖突污染問題詳解

    默認情況下,寫在.vue組件中的樣式會全局生效,因此很容易造成多個組件之間的樣式沖突問題。導致組件之間樣式沖突的根本原因,我們接下來探究一下
    2022-11-11
  • 源碼淺析Vue3中的組件掛載

    源碼淺析Vue3中的組件掛載

    這篇文章主要帶大家從源碼分析一下Vue3中的組件掛載的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09

最新評論

汉川市| 富宁县| 鄂托克前旗| 上蔡县| 石屏县| 故城县| 莱西市| 康保县| 十堰市| 洛阳市| 大同县| 定边县| 沙湾县| 田东县| 济宁市| 江安县| 江口县| 三门峡市| 三门县| 临洮县| 岑巩县| 方正县| 大化| 大丰市| 湄潭县| 桑日县| 新河县| 颍上县| 宁德市| 博兴县| 驻马店市| 雷山县| 英山县| 达州市| 三门峡市| 宜州市| 固镇县| 宁阳县| 临夏市| 呼图壁县| 定日县|