vue 使用vite-plugin-svg-icons
安装
npm install vite-plugin-svg-icons --save
npm install fast-glob --save
在vite.config.js配置
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'; import path from 'path' function resolve(dir) { return path.join(__dirname, dir) } // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), createSvgIconsPlugin({
// 新建 assets/svg文件夹,将svg放入文件夹下 iconDirs: [resolve('src/assets/svg')], // 定义每个 SVG 图标的符号 ID symbolId: "icon-[name]" }), ], })
定义一个svgicon组件,新建SvgIcon.vue
<script setup> const props=defineProps({ // SVG 文件名称 name:{ type:String, required:true, }, // 额外类名 className:{ type:String, default:"", }, // SVG 大小 size:{ type:Number, default:20, } }) </script> <template> <svg aria-hidden="true" :width="size" :height="size" :class="` ${className}` "> <use :href="`#icon-${name}`" ></use> </svg> </template> <style scoped> </style>
重要的一步,在main.js中
import 'virtual:svg-icons-register'
全局注册组件
const app = createApp(App) app.component('SvgIcon', SvgIcon)
使用
<SvgIcon name="图标名" class="cls__svg" :size="25"></SvgIcon>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2023-06-15 flask自定义参数校验、序列化和反序列化