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

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

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

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

項(xiàng)目場景

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

問題描述

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

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

原因分析

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

解決方案

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

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

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

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

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

主要代碼

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ù)分別對應(yīng):

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

總結(jié)

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

相關(guān)文章

  • 10個Vue3性能優(yōu)化的實(shí)用技巧分享

    10個Vue3性能優(yōu)化的實(shí)用技巧分享

    這篇文章總結(jié)了10個Vue3中最容易被忽略,但對性能提升最有效的實(shí)戰(zhàn)技巧,適合新老開發(fā)者收藏使用,文中的示例代碼講解詳細(xì),感興趣的小編好可以了解下
    2026-01-01
  • Vue3中的defineExpose函數(shù)用法深入解析

    Vue3中的defineExpose函數(shù)用法深入解析

    這篇文章主要介紹了Vue3中的defineExpose函數(shù)用法的相關(guān)資料,defineExpose是Vue3中用于在模式下暴露組件內(nèi)部屬性和方法的輔助函數(shù),它允許父組件通過ref訪問子組件的暴露內(nèi)容,提高組件間的交互能力并保持封裝性,需要的朋友可以參考下
    2025-01-01
  • Vue新手指南之創(chuàng)建第一個vue-cli腳手架程序

    Vue新手指南之創(chuàng)建第一個vue-cli腳手架程序

    vue-cli 是一個官方發(fā)布 vue.js 項(xiàng)目腳手架,使用 vue-cli 可以快速創(chuàng)建 vue 項(xiàng)目。這篇文章主要給大家介紹了關(guān)于Vue新手指南之創(chuàng)建第一個vue-cli程序的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • vue.js前后端數(shù)據(jù)交互之提交數(shù)據(jù)操作詳解

    vue.js前后端數(shù)據(jù)交互之提交數(shù)據(jù)操作詳解

    這篇文章主要介紹了vue.js前后端數(shù)據(jù)交互之提交數(shù)據(jù)操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了vue.js前后端數(shù)據(jù)交互相關(guān)的表單結(jié)構(gòu)、約束規(guī)則、數(shù)據(jù)提交等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-04-04
  • vue實(shí)現(xiàn)動態(tài)路由的方法及路由原理解析

    vue實(shí)現(xiàn)動態(tài)路由的方法及路由原理解析

    這篇文章主要介紹了路由原理及vue實(shí)現(xiàn)動態(tài)路由,Vue Router 提供了豐富的 API,可以輕松地實(shí)現(xiàn)路由功能,并支持路由參數(shù)、查詢參數(shù)、命名路由、嵌套路由等功能,可以滿足不同應(yīng)用程序的需求,需要的朋友可以參考下
    2023-06-06
  • vue+element-ui表格自定義列模版的實(shí)現(xiàn)

    vue+element-ui表格自定義列模版的實(shí)現(xiàn)

    本文主要介紹了vue+element-ui表格自定義列模版的實(shí)現(xiàn),通過插槽完美解決了element-ui表格自定義列模版的問題,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • preload對比prefetch的功能區(qū)別詳解

    preload對比prefetch的功能區(qū)別詳解

    這篇文章主要為大家介紹了preload對比prefetch的使用區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 用Cordova打包Vue項(xiàng)目的方法步驟

    用Cordova打包Vue項(xiàng)目的方法步驟

    這篇文章主要介紹了用Cordova打包Vue項(xiàng)目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Vue2?響應(yīng)式系統(tǒng)之深度響應(yīng)

    Vue2?響應(yīng)式系統(tǒng)之深度響應(yīng)

    這篇文章主要介紹了Vue2?響應(yīng)式系統(tǒng)之深度響應(yīng),文章基于Vue2?響應(yīng)式系統(tǒng)的相關(guān)資料展開對Vue2?深度響應(yīng)的介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Vue中引入使用patch-package為依賴打補(bǔ)丁問題

    Vue中引入使用patch-package為依賴打補(bǔ)丁問題

    這篇文章主要介紹了Vue中引入使用patch-package為依賴打補(bǔ)丁問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評論

永昌县| 醴陵市| 淳安县| 大埔县| 西宁市| 西吉县| 宝鸡市| 枣强县| 湖口县| 通化县| 古交市| 夏津县| 固原市| 伽师县| 图们市| 陇川县| 灵石县| 勃利县| 龙口市| 静乐县| 无极县| 清镇市| 罗源县| 武强县| 新建县| 牡丹江市| 德清县| 宜黄县| 大名县| 民县| 油尖旺区| 赤壁市| 来安县| 塔河县| 安康市| 廉江市| 平度市| 观塘区| 侯马市| 伊金霍洛旗| 浠水县|