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

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

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

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

項(xiàng)目場(chǎng)景

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

問題描述

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

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

原因分析

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

解決方案

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

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

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

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

  • keys:返回匹配成功模塊的名字組成的數(shù)組
  • resolve:接受一個(gè)參數(shù)requestrequesttest文件夾下面匹配文件的相對(duì)路徑,返回這個(gè)匹配文件相對(duì)于整個(gè)工程的相對(duì)路徑
  • id:執(zhí)行環(huán)境的id,返回的是一個(gè)字符串,只要用在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ì)因找不到上下文環(huán)境而查找失敗),報(bào)依賴錯(cuò)誤,可通過require.context()解決。

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

// 錯(cuò)誤
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()

傳入三個(gè)參數(shù)分別對(duì)應(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é)

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

相關(guān)文章

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

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

    這篇文章總結(jié)了10個(gè)Vue3中最容易被忽略,但對(duì)性能提升最有效的實(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)建第一個(gè)vue-cli腳手架程序

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

    vue-cli 是一個(gè)官方發(fā)布 vue.js 項(xiàng)目腳手架,使用 vue-cli 可以快速創(chuàng)建 vue 項(xiàng)目。這篇文章主要給大家介紹了關(guān)于Vue新手指南之創(chuàng)建第一個(gè)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)動(dòng)態(tài)路由的方法及路由原理解析

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

    這篇文章主要介紹了路由原理及vue實(shí)現(xiàn)動(dòng)態(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表格自定義列模版的問題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • preload對(duì)比prefetch的功能區(qū)別詳解

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

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

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

    這篇文章主要介紹了用Cordova打包Vue項(xiàng)目的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    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)資料展開對(duì)Vue2?深度響應(yīng)的介紹,需要的小伙伴可以參考一下
    2022-04-04
  • Vue中引入使用patch-package為依賴打補(bǔ)丁問題

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

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

最新評(píng)論

文登市| 含山县| 尉犁县| 西和县| 聊城市| 抚宁县| 新河县| 桃江县| 平南县| 麻江县| 永登县| 博野县| 阿坝| 辽中县| 武夷山市| 桂平市| 舒城县| 巴彦县| 土默特左旗| 阿拉善左旗| 安丘市| 鲁甸县| 昂仁县| 吉安市| 永年县| 大邑县| 仪征市| 贡嘎县| 葫芦岛市| 天津市| 赤城县| 邛崃市| 扎兰屯市| 北川| 胶州市| 鄂托克旗| 平塘县| 成武县| 彝良县| 台东市| 揭阳市|