欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue中使用require動態(tài)獲取圖片地址方式

 更新時間:2023年06月05日 17:12:31   作者:全蛋  
這篇文章主要介紹了vue中使用require動態(tài)獲取圖片地址方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

使用require動態(tài)獲取圖片地址

項目場景

項目中根據(jù)圖片不同的后綴名,展示不同的圖片

問題描述

直接給圖片的src綁定圖片地址,圖片不顯示,使用 require('圖片本地路徑' + '地址變量' + '.png') 也不顯示

<img :src="require('@/assets/img/' + item.url + '.png')" alt="" />

原因分析

vueDOM中直接引入的圖片會被轉(zhuǎn)為base64格式,但是使用變量引入的話,圖片不會轉(zhuǎn)為base64,所以不顯示

解決方案

使用require.context實現(xiàn)前端工程化引入文件

require.context(directory, useSubdirectories, regExp)
  • directory 檢索的目錄
  • useSubdirectories : 是否檢索子文件夾
  • regExp: 匹配文件的正則表達式,一般是文件名
  • mode: 加載模式。同步還是異步

require.context 執(zhí)行后,返回一個方法 webpackContext,這個方法又返回一個 __webpack_require__ , 這個 __webpack_require__ 相當于require或者import。

同時webpackContext還有第二個靜態(tài)方法 keysresolve,一個id屬性

  • keys:返回匹配成功模塊的名字組成的數(shù)組
  • resolve:接受一個參數(shù)request,requesttest文件夾下面匹配文件的相對路徑,返回這個匹配文件相對于整個工程的相對路徑
  • id:執(zhí)行環(huán)境的id,返回的是一個字符串,只要用在module.hot.accpet,應該是熱加載

主要代碼

const images = require.context("@/assets/test", false, /\.png$/);
        let imageURL = ''
        images.keys().forEach(key => {
          const name = path.basename(key, '.png')
          if (name === 圖片后綴名) {
            imageURL = images(key).default || images(key)
          }
        })
        return imageURL;

vue中require圖片失敗問題

在vue里,require路徑上無法使用變量(會因找不到上下文環(huán)境而查找失敗),報依賴錯誤,可通過require.context()解決。

變量在路徑上,require找不到上下文環(huán)境:

// 錯誤
require("../assets/image/" + 變量 + "/img.jpg")

變量是最后的文件名或部分文件名,上下文環(huán)境找的到可以:

// 正確
require("../assets/image/ipad/" + "變量.jpg")
require("../assets/image/ipad/i" + "變量.jpg")
require("../assets/image/ipad/img" + "變量.jpg")
require("../assets/image/ipad/img.jpg")

require.context()

傳入三個參數(shù)分別對應:

context = require.context("../assets/image/ipad/", true, /\.(png|jpg)$/);
// 相當于"../assets/image/ipad/img.jpg"
context("./img.jpg");
//指定上下文環(huán)境后,路徑上可用變量
// "../assets/image/ipad/" + 變量 + "/img.jpg"
context("./"+"變量"+"img.jpg");

總結(jié)

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

相關文章

  • VUE +Element 實現(xiàn)多個字段值拼接功能

    VUE +Element 實現(xiàn)多個字段值拼接功能

    這篇文章主要介紹了VUE +Element 實現(xiàn)多個字段值拼接,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Vue element-admin權(quán)限控制之按鈕使用

    Vue element-admin權(quán)限控制之按鈕使用

    這篇文章主要介紹了Vue element-admin權(quán)限控制之按鈕使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Vue 實現(xiàn)輸入框新增搜索歷史記錄功能

    Vue 實現(xiàn)輸入框新增搜索歷史記錄功能

    這篇文章主要介紹了Vue 輸入框新增搜索歷史記錄功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 詳解Vue2.X的路由管理記錄之 鉤子函數(shù)(切割流水線)

    詳解Vue2.X的路由管理記錄之 鉤子函數(shù)(切割流水線)

    本篇文章主要介紹了Vue2.X的路由管理記錄之 鉤子函數(shù)(切割流水線),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue router返回到指定的路由的場景分析

    vue router返回到指定的路由的場景分析

    這篇文章主要介紹了vue router返回到指定的路由的場景分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Vue實現(xiàn)全局的toast組件方式

    Vue實現(xiàn)全局的toast組件方式

    這篇文章主要介紹了Vue實現(xiàn)全局的toast組件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue中formdata傳值給后臺時參數(shù)為空的問題

    vue中formdata傳值給后臺時參數(shù)為空的問題

    這篇文章主要介紹了vue中formdata傳值給后臺時參數(shù)為空的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 每天學點Vue源碼之vm.$mount掛載函數(shù)

    每天學點Vue源碼之vm.$mount掛載函數(shù)

    這篇文章主要介紹了vm.$mount掛載函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 使用provide/inject實現(xiàn)跨組件通信的方法

    使用provide/inject實現(xiàn)跨組件通信的方法

    在 Vue 應用中,組件間通信是構(gòu)建復雜應用時的一個常見需求,Vue3.x 提供了provide和inject API,讓跨組件通信變得更加簡潔和高效,本文將深入探討如何使用provide和inject在Vue3.x中實現(xiàn)跨組件通信,并通過示例代碼一步步進行說明,需要的朋友可以參考下
    2024-03-03
  • 詳解vue父子組件關于模態(tài)框狀態(tài)的綁定方案

    詳解vue父子組件關于模態(tài)框狀態(tài)的綁定方案

    這篇文章主要介紹了詳解vue父子組件關于模態(tài)框狀態(tài)的綁定方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06

最新評論