路由配置中的svg图标如何匹配

如何实现

首先需要安装 vite-plugin-svg-icons 和fast-blob 连个插件

js 复制代码
npm install vite-plugin-svg-icons -D
npm install fast-glob -D

在路由配置中设置的图标名称(如 icon-admin)是通过以下流程找到并显示的:

  1. 路由配置阶段 :在 router/index.js 中,通过 meta: { icon: 'icon-admin' } 为路由配置图标名称。

  2. 侧边栏组件渲染 :路由信息会传递到侧边栏组件 Sidebar/index.vue,该组件使用 <svg-icon> 组件并通过 :icon-class="getIcon(icon)" 属性绑定图标名称。

  3. SvgIcon 组件处理 :在 components/SvgIcon/index.vue 中,组件接收 iconClass 属性,并通过计算属性将其转换为 SVG 引用路径:

    javascript 复制代码
    iconName: computed(() => `#icon-${props.iconClass}`)
  4. 图标加载与注册 :在 main.js 中配置了图标系统:

    • 通过 import 'virtual:svg-icons-register' 注册 SVG 图标
    • 通过 import '@/assets/icons/iconfont.css' 导入自定义字体图标
    • 通过 app.component('svg-icon', SvgIcon) 全局注册 SvgIcon 组件
  5. 图标显示机制:当页面渲染时,SvgIcon 组件会生成包含正确引用路径的 SVG 元素:

    ini 复制代码
    <svg class="svg-icon" aria-hidden="true">
      <use xlink:href="#icon-bic-admin" fill="" />
    </svg>

这样,路由配置中的图标名称就能够正确映射到项目中注册的 SVG 图标或字体图标,并在侧边栏中显示出来。

fast-glob

fast-glob 是一个高性能的文件系统路径匹配库,主要用于快速查找和匹配文件系统中的文件。它是 Node.js 生态系统中广泛使用的工具库,提供了比原生 glob 更高效的文件匹配能力。

相关推荐
艺杯羹几秒前
告别大模型滥用与延迟失控:确定性优先法则与本地规则引擎实战
前端·人工智能·系统架构
MetWeave3 分钟前
一根杆与一张场:把你的机场画上地图
前端·数据可视化
2601_949575868 分钟前
JSON5 跨端三方库仓颉适配全流程
前端·javascript·flutter
Java后端的Ai之路11 分钟前
【AIAgent项目-AI生成PPT-09】灵活排版
前端·vue.js·人工智能·python·powerpoint
MasonYyp15 分钟前
安装npm依赖仓库Verdaccio
前端·npm·node.js
Antruly29 分钟前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++
红红谈说32 分钟前
同一套产品两个技术栈,双版本前端工程差异怎么收敛?
前端·uni-app·vue3·前后端分离·双版本维护·接口约定
不吃鱼的羊37 分钟前
如何建立高自尊
java·服务器·前端
计算机魔术师40 分钟前
编程智能体卡在"需要登录"这步,六种接法代价差得很远
前端
计算机魔术师1 小时前
出题人自己算错了,AI成绩从88%直接跳到98%
前端