vite+v3批量一次性引入本地图片(简单做法)

news2024/11/18 20:39:30

效果:

开发步骤:

  • 在assets/fileTypes文件夹中将你需要的png图片导入,并使用文件类型来命名图片(如docx.png)
  • 使用import.meta.globEager将assets/fileTypes下所有的png图片引入
  • 通过遍历Object.keys(files)使用正则匹配出每个图片的名称,用文件类型做name,文件路径做图片路径创建一个数组
  • 在img图标的src定义方法,返回文件路径即可

文件类型图片库:

File Types Icon Pack | Flat | 150 .SVG Icons - Page 3

File Types Icon Pack | Outline Color | 150 .SVG Icons - Page 3

完整代码:

import noneImg from "@/assets/fileTypes/none.png";

<img class="mr5" :src="getImgSrc(file)" />


// 统一获取所有文件类型图片
const fileTypes = ref([]);
const files = import.meta.globEager("@/assets/fileTypes/*.png");
Object.keys(files).forEach((fileName) => {
  let fileType = fileName.match(/([^/]*?)\.[^/.]+$/)[1]; //用正则匹配出文件名称
  fileTypes.value.push({
    name: fileType,
    iconSrc: files[fileName].default,
  });
});

const getImgSrc = (file) => {
  let findImg = noneImg; // 没匹配到就用默认的图片
  fileTypes.value.forEach(
    (item) => item.name === file.attachType && (findImg = item.iconSrc)
  );
  return findImg;
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1089156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专业吃鸡行家教你秒转高手,掌握绝地求生战斗技巧!

各位吃鸡玩家大家好&#xff01;今天我将为大家分享一些关于提高游戏战斗力的独家技巧和顶级游戏作战干货&#xff01;如果你想成为吃鸡高手&#xff0c;就千万不要错过这篇文章&#xff01; 首先&#xff0c;让我们来谈谈如何提高游戏战斗力。提升游戏战斗力可以帮助您在游戏中…

three.js入门 —— 实现第一个3D案例

前言&#xff1a; three.js入门&#xff0c;根据文档实现第一个3D案例 效果图&#xff1a; 代码实现&#xff1a; const scene new THREE.Scene();//创建一个长方体几何对象Geometryconst geometry new THREE.BoxGeometry(100, 100, 100);//创建一个网络基础材质的材质对象…

swift ui 布局 ——Stack(HStack、VStack、ZStack)

一、HStack 水平布局 将其子视图排列在水平线上 import Foundation import SwiftUI struct MyView: View {var body: some View {HStack{Text("text")Image("yuyin").resizable().frame(width: 102,height: 80)}} } 默认子视图是水平中心对齐的,可添加al…

季涨约3~8%,DRAM合约价大幅回升 | 百能云芯

据TrendForce的研究显示&#xff0c;第4季DRAM与NAND Flash均价将开始全面上涨。特别是DRAM&#xff0c;预计第4季的合约价将季涨幅约在3%到8%之间。然而&#xff0c;这波上涨是否能持续&#xff0c;取决于供应商是否坚守减产策略以及实际需求的回升程度&#xff0c;尤其值得关…

ThreeJS-3D教学九-line的绘制

three.js 画线比较繁琐一些&#xff0c;我们先展示正常的操作&#xff0c;先看效果图&#xff1a; 本案例用到的方法是&#xff1a; LineBasicMaterial 和 LineSegments。 1、材质 Three.js中提供了两种线条材质&#xff1a; LineDashedMaterial const material new THREE.…

微信还有双击功能?可以怎么用呢?

微信已成为每个人日常生活中不可或缺的社交工具&#xff0c;假如没有它&#xff0c;大家会很不习惯不方便。 微信功能不断更新丰富&#xff0c;许多人仅限于聊天刷圈。微信其实还是有很多小技巧的&#xff0c;有很多实用方便的小功能&#xff0c;只是大家平时都不知道。 比如我…

如何处理”此 SAP 系统不是当前编辑对象的原始系统“的问题

今天想在开发机修改一个程序时&#xff0c;跳出了一个弹窗如下&#xff1a; 点卡详细信息&#xff0c;显示如下&#xff1a; 仅在紧急时执行非原始系统的修复 消息编号 TR850 诊断 此 SAP 系统不是当前编辑对象的原始系统。 系统响应 该功能继续执行。 步骤 仅执行紧急修复并在…

什么是美颜SDK?如何创建自定义美颜直播应用?

在今天的数字时代&#xff0c;直播应用变得越来越流行&#xff0c;而美颜SDK已经成为这些应用的不可或缺的一部分。 一、了解直播美颜SDK 在开发之前&#xff0c;了解SDK的功能和特性是至关重要的。这些SDK通常提供肤色识别、皮肤磨皮、特征增强、滤镜效果等功能。目前已经广…

【发烧期间随笔】第一次游戏开发经历的总结与反思

一、前言 这两天三阳了&#xff0c;头疼头晕恶心发烧打喷嚏流鼻涕咳嗽嗓子疼气管疼都找上门来了&#xff0c;这导致一周以来都没学什么东西&#xff0c;无意间又刷到各个游戏厂关于本人目标岗位HC骤减且要求造火箭的能力的消息&#xff0c;这两天一直是在病痛和焦虑中度过的&a…

Unity实现简易坦克移动打炮

功能&#xff1a;坦克可以前后移动、左右旋转、打炮 动态演示效果 静态展示图片 核心代码 1、Bullet.cs挂载在Bullet预设体上 using UnityEngine;public class Bullet : MonoBehaviour {// 移动方向private Vector3 moveDir;// 移动速度private float moveSpeed 2;/// <…

RFID防伪防窜货管理系统—保护品牌声誉和市场秩序的利器

在现代市场经济中&#xff0c;知名品牌的产品常常面临着仿冒和假冒的问题&#xff0c;这给企业的利益和品牌声誉带来了严重的损害&#xff0c;跨区域销售和窜货现象也导致市场秩序的紊乱和价格体系的破坏。 一、系统需求分析 防伪需求&#xff1a;企业需要一种可靠的防伪手段&…

软件测试人必须清楚的测试基础知识详解

一、软件测试概述 1、软件缺陷 软件缺陷&#xff1a;又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误&#xff0c;或者隐藏的功能缺陷。 缺陷的表现形式&#xff1a; 软件没有实现产品规格说明书所要求的功能模块&#xff1b;软件中出现了产…

基于Flume+Kafka+Hbase+Flink+FineBI的实时综合案例(三)离线分析

文章目录 08&#xff1a;离线分析&#xff1a;Hbase表设计及构建09&#xff1a;离线分析&#xff1a;Kafka消费者构建10&#xff1a;离线分析&#xff1a;Hbase连接构建11&#xff1a;离线分析&#xff1a;Rowkey的构建12&#xff1a;离线分析&#xff1a;Put数据列构建13&…

Spring自动装配源码分析

写在前面&#xff1a;阅读spring源码需要读者对Java反射和动态代理有一定了解。关于这部分内容&#xff0c;可以参考这篇博客&#xff1a;Spring源码分析准备工作及java知识补充 一、Spring依赖注入的方式 关于spring的依赖注入&#xff0c;可以参考官方文档&#xff1a;Spring…

注意力屏蔽(Attention Masking)在Transformer中的作用 【gpt学习记录】

填充遮挡&#xff08;Padding Masking&#xff09;&#xff1a; 未来遮挡&#xff08;Future Masking&#xff09;&#xff1a;

近地面无人机植被定量遥感与生理参数反演

目录 专题一 近十年近地面无人机植被遥感文献分析、传感器选择、观测方式及质量控制要点 专题二 辐射度量与地物反射特性 专题三 无人机遥感影像辐射与几何处理 专题四 光在植被叶片与冠层中的辐射传输机理及平面模型应用 专题五 植被覆盖度与叶面积指数遥感估算 更多应用…

sylar高性能服务器-日志(P7-P8)代码解析

文章目录 p71.TabFormatItem2.init函数&#xff0c;对于{}内容的解析3.Util.h4.CmakeLists5.优化日志输出-流式输出 p81.优化日志输出-格式化输出2.日志管理器3.单例模型设计 测试(无调试步骤) P7P8两节视频新增内容不多&#xff0c;主要看下优化日志输出使用的宏函数。本次记录…

python获取网口列表(获取网络接口列表、网口表)socket.if_nameindex()

文章目录 获取网口列表测试 获取网口列表 以下python代码将打印系统中所有存在的网络接口列表&#xff1a; import socketdef print_interfaces_list():# 打印所有的网络接口列表available_interfaces socket.if_nameindex()# 转换成字典形式 {if_index: if_name}available_…

6个视频剪辑必备的素材网站,免费下载。

视频剪辑必备的视频资源、音效素材、BGM&#xff0c;这6个网站全部免费下载&#xff0c;赶紧收藏起来吧&#xff01; 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 菜鸟图库网素材非常丰富&#xff0c;网站主要还是以设计类素材为主&#xff0c;高清视频素材…

TSINGSEE青犀智慧广场智能监控解决方案,助力广场监控数字化转型

前期和大家说过世界最大的城市公园——合肥市骆岗公园的监控方案&#xff0c;大家都很感兴趣&#xff0c;后台还有粉丝留言想看看广场类场景的智能方案&#xff0c;今天小编就和大家聊一聊。 广场视频监控方案大体和公园场景类似&#xff0c;但由于广场比公园更加空旷&#xf…