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

效果:

开发步骤:

  • 在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

完整代码:

javascript 复制代码
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;
};
相关推荐
Ziky学习记录12 分钟前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n18 分钟前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n21 分钟前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
我是一只puppy27 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
颜酱28 分钟前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
狗哥哥43 分钟前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫1 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘2 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare2 小时前
浅浅看一下设计模式
前端
Lee川2 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试