当前位置: 首页 > news >正文

VUE3 使用 vite-plugin-svg-icons加载SVG

目录

1. 装依赖

2. 在src里面创建文件夹

3. 封装svg组件 

4. vite.config.js 中配置svg

5. 引入+挂载(在main.js中)

6. 单页面直接用


 

1. 装依赖

npm i vite-plugin-svg-icons -D

2. 在src里面创建文件夹

3. 封装svg组件 

代码明细:

<template><svg aria-hidden="true"><use :xlink:href="symbolId" /></svg>
</template><script>
import { defineComponent, computed } from "vue";export default defineComponent({name: "SvgIcon",props: {prefix: {type: String,default: "icon",},name: {type: String,required: true,},},setup(props) {const symbolId = computed(() => `#${props.prefix}-${props.name}`);return { symbolId };},
});
</script>

 

4. vite.config.js 中配置svg

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'
// https://vitejs.dev/config/
export default defineConfig({resolve: {alias: {'@': path.resolve(__dirname, 'src')}},plugins: [vue(),createSvgIconsPlugin({// 指定需要缓存的图标文件夹iconDirs: [path.resolve(process.cwd(), 'src/icons/svg')],// 指定symbolId格式symbolId: '[name]',})],css: {preprocessorOptions: {less: {javascriptEnabled: true,},},},})

 

5. 引入+挂载(在main.js中)

代码:

//导入Svg图片插件,可以在页面上显示Svg图片
import "virtual:svg-icons-register";
import SvgIcon from "./components/SvgIcon.vue";
app.component("SvgIcon", SvgIcon);

6. 单页面直接用

代码:

<el-icon class="icon"><SvgIcon name="Out" class="icon-svg" />
</el-icon><div class="details"><p class="price">{{ CardEight.OutCount }} 台</p><p class="desc">本年度出厂设备数量</p></div>

ps: 下载的svg文件保存在 src\icons\svg 内,如图:

修改svg 的背景色 (改变fill的值即可)

 

相关文章:

  • 浅谈请求中数据转换
  • 程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
  • java:JWT的简单例子
  • This content is blocked. Contact the site owner to fix the issue.
  • 你只是重新发现了一些东西
  • 【2024.6.22】今日科技时事:科技前沿大事件
  • 【C++提高编程-11】----C++ STL常用集合算法
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 生成哈夫曼树(100分) - 三语言AC题解(Python/Java/Cpp)
  • 鸿蒙原生App开发之:套用混合app开发思路
  • 用java写一个二叉树翻转
  • 如何获得一个Oracle 23ai数据库(vagrant box)
  • webpack总结16--webpack入门学习
  • 如何在 Ubuntu 14.04 上使用 Iptables 实现基本防火墙模板
  • 栈实现四则运算
  • 视频讲解|基于模型预测算法的含储能微网双层能量管理模型【mpc】
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • css系列之关于字体的事
  • download使用浅析
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • idea + plantuml 画流程图
  • JavaScript 奇技淫巧
  • MySQL QA
  • node和express搭建代理服务器(源码)
  • pdf文件如何在线转换为jpg图片
  • python docx文档转html页面
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Sublime text 3 3103 注册码
  • Vue全家桶实现一个Web App
  • vue学习系列(二)vue-cli
  • Yeoman_Bower_Grunt
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 大数据与云计算学习:数据分析(二)
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 关于使用markdown的方法(引自CSDN教程)
  • 和 || 运算
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端之React实战:创建跨平台的项目架构
  • 深入浅出Node.js
  • 使用 Docker 部署 Spring Boot项目
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #pragma once与条件编译
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $.ajax,axios,fetch三种ajax请求的区别
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (k8s中)docker netty OOM问题记录
  • (zt)最盛行的警世狂言(爆笑)
  • (差分)胡桃爱原石
  • (二)pulsar安装在独立的docker中,python测试