vite+vue3批量导入静态资源图片;动态绑定大量图片
2024-10-21 04:18:45
vite版本:vite3;vue版本:vue3
打包上线后发现,动态绑定的图片皆失效。
单图可用 import 导入解决,但是若有大量图片,一一导入则耗时耗力。
vue2+webpack 可用 require 解决批量导入资源的问题。
vite中无 require ,vite3 需要使用 import.meta.glob('路径' , {eager:true}) 导入
实际解决如下:
1、首先在存放静态图片的路径下新建个 js文件
2、将所有图片用vite3批量导入资源的方法导入进来后,循环将所有图片处理成一个大对象
用图片具体的名称做键,导入该图片的地址做值
1 // 将所有图片导入进来
2 const req1 = import.meta.glob('./images/*.*', {eager: true})
3 const req2 = import.meta.glob('./images/casesList/*.*', {eager: true})
4 const req3 = import.meta.glob('./images/hardware_agv/*.*', {eager: true})
5 const req4 = import.meta.glob('./images/hardware_sj/*.*', {eager: true})
6 const req5 = import.meta.glob('./images/software/*.*', {eager: true})
7
8 const req = {...req1, ...req2, ...req3, ...req4, ...req5}
9
10 const imagesMap = {}
11
12 // 循环所有图片,将图片名设置成键,值为导入该图片的地址
13 for (const key in req) {
14 // let name = key.replace(/(\.\/images\/|\..*)/g, '')
15 let name =key.split('/').slice(-1)[0].split('.')[0]
16
17 // 抛出图片大对象后,文件页面直接引入后将图片的具体名称作为属性就能导入该图片
18 imagesMap[name] = req[key].default
19 }
20
21 export default imagesMap
3、在页面可直接引入图片大对象后,将图片具体名作为属性取值
最新文章
- Shell入门
- 一个Java递归删除目录的方法
- JSP 用户表单的简单实现
- 2014-09-19.xml
- Kinect For Windows V2开发日志三:简单的深度读取
- Objective-C 【电商APP应用代码-系统分析-详细注释-代码实现】
- 解决maven打jar包报错 source 1.3 中不支持
- hdu 2685 I won't tell you this is about number theory 数论
- 循环json数据的列
- C#中AES加密和解密
- axure扫盲
- CCPC-Wannafly Winter Camp Day1部分题目解析
- .net core web api 与httpclient发送和接收文件及数据
- 外网访问内网MariaDB数据库
- python之路-----django 自定义cookie签名
- python中的property属性
- java:根据利润表计算奖金所得
- 【紫书】【重要】Abbott's Revenge UVA - 816 bfs 复杂模拟 带方向参数的迷宫
- CROC 2016 - Elimination Round (Rated Unofficial Edition) E - Intellectual Inquiry dp
- 自己动手写js分享插件 [支持https] (可以分享QQ空间,微信,新浪微博。。。)