vue中使用require动态获取图片地址

news/2024/11/16 11:56:43/

项目场景:

项目中根据图片不同的后缀名,展示不同的图片


问题描述

直接给图片的src绑定图片地址,图片不显示,使用 require('图片本地路径' + '地址变量' + '.png') 也不显示

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

原因分析:

vueDOM中直接引入的图片会被转为base64格式,但是使用变量引入的话,图片不会转为base64,所以不显示
在这里插入图片描述


解决方案:

使用require.context实现前端工程化引入文件

require.context(directory, useSubdirectories, regExp)

  • directory 检索的目录
  • useSubdirectories : 是否检索子文件夹
  • regExp: 匹配文件的正则表达式,一般是文件名
  • mode: 加载模式。同步还是异步

require.context 执行后,返回一个方法 webpackContext,这个方法又返回一个 __webpack_require__ , 这个 __webpack_require__ 相当于require或者import。同时webpackContext还有第二个静态方法 keysresolve,一个id属性

  1. keys:返回匹配成功模块的名字组成的数组
  2. resolve:接受一个参数requestrequesttest文件夹下面匹配文件的相对路径,返回这个匹配文件相对于整个工程的相对路径
  3. id:执行环境的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;

http://www.ppmy.cn/news/788626.html

相关文章

Java获取图片像素点数组数据

方式一&#xff1a; //方式一&#xff1a;通过getRGB()方式获得像素矩阵 public static void getPicArrayData(String path){try{BufferedImage bimg ImageIO.read(new File(path));int [][] data new int[bimg.getWidth()][bimg.getHeight()];for(int i0;i<bimg.getWidt…

Vue——如何获取动态图片地址

问题 当我们在Vue页面显示当前登录用户的头像时&#xff0c;该如何加载后端传过来的动态图片地址呢&#xff1f; 这时是固定地址&#xff0c;第一时间我们想到直接在src前加:&#xff0c;使用vue的双向数据绑定即可&#xff0c;但是试了多次没有效果&#xff0c;原来要加requ…

根据ip获取地址

php 根据ip获取地址 js方法获取用户的 ip 和 地址 获取用户的来源&#xff1a;$_SERVER[‘HTTP_REFERER’] 获取用户的 IP&#xff1a;$ip $_SERVER[“REMOTE_ADDR”]; 获取用户的地址&#xff1a; 1 > 使用淘宝API接口 function getCity(KaTeX parse error: Expecte…

js通过图片url获取图片base64编码

方法1&#xff1a;直接返回图片编码 参数url&#xff1a;图片的路径 &#xff1b;参数imgType&#xff1a;图片类型默认image/png&#xff1b;方法返回值&#xff1a;图片base64编码 function getBase64ImageUrl(url, imgType) {if(!imgType){imgType"image/png";}…

vue 组件中图片地址,图片获取

前提&#xff1a;在组件中使用引用图片&#xff0c;用于<img src> 或者 背景图片background; 当我们利用vue-cli 搭建好项目的框架&#xff0c;开始高高兴兴开发组件的时候&#xff0c;有的时候想加一张图片&#xff0c;或者 在样式中加个背景&#xff0c;会发现&…

vue从数据库获取图片地址,为什么图片地址为变量时找不到图片?

vue展示以变量地址的文件 vue新手 刚开始学习vue的同学&#xff0c;可能会遇到一个问题&#xff0c;为什么当图片的地址为一个变量的时候&#xff0c;图片就找不到了呢&#xff1f; 接下来我就讲述一下我的解决方法&#xff0c;及思路。 首先&#xff0c;我们打开浏览器&am…

Android根据图片路径获取图片名字

public static String getPicNameFromPath(String picturePath){String temp[] picturePath.replaceAll("\\\\","/").split("/");String fileName "";if(temp.length > 1){fileName temp[temp.length - 1];}return fileName;}

oss 私有云访问 获取临时图片地址

oss私有bucket 访问&#xff0c;当然公有bucket可以直接访问&#xff0c;私有可以获取临时访问地址 先配置一些参数 记得maven引入oss SDK <!--Add oss--><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artif…