一、安装 vite-plugin-svg-icons

npm i vite-plugin-svg-icons -D
// 或者
yarn add vite-plugin-svg-icons -D

二、在main.js引入

import 'virtual:svg-icons-register'

三、配置SVG图片文件夹

如:

四、在vite.config.js中配置

//import path,{ resolve } from 'path'
import path from 'path'
import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'export default defineConfig((command) => {return {plugins: [createSvgIconsPlugin({// 指定要缓存的文件夹iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],// 指定symbolId格式symbolId: '[name]'})],
}})

五、新建svg封装组件,路径参考:src\components\svg-icon\index.vue

<template><svg :class="svgClass" aria-hidden="true"><use class="svg-use" :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},className: {type: String,default: ''}},setup(props) {const symbolId = computed(() => `#${props.name}`)const svgClass = computed(() => {if (props.className) {return `svg-icon ${props.className}`}return 'svg-icon'})return { symbolId, svgClass }}})
</script>
<style scope>.svg-icon { vertical-align: -0.1em; /* 因icon大小被设置为和字体大小一致,而span等标签的下边缘会和字体的基线对齐,故需设置一个往下的偏移比例,来纠正视觉上的未对齐效果 */fill: currentColor; /* 定义元素的颜色,currentColor是一个变量,这个变量的值就表示当前元素的color值,如果当前元素未设置color值,则从父元素继承 */overflow: hidden;}
</style>

六、按需引入使用

<template><SvgIcon name="issue"></SvgIcon></template><script setup>
import SvgIcon from "@/components/SvgIcon.vue";
</script>

七、全局引入使用

在main.js中加入

import svgIcon from './components/svgIcon/index.vue'createApp(App).component('svg-icon', svgIcon)

通过vite-plugin-svg-icons 使用SVG图片相关推荐

  1. 在vue3+vite+ ts 项目中使用svg

    一:components下新建svgIcon.vue文件 <template> <svg :class="svgClass" v-bind="$attr ...

  2. 拥抱SVG:苦恼于图片适配 in Android?

    前言 不管是开发 Android 已久的老司机,还是刚刚上车的新司机,都肯定会对一件事情深恶痛绝:图片适配(尤其是在美工不给力的条件下)!为什么 Android 手机要有这么多不同的分辨率? 为什么我 ...

  3. java使用 Batik svg代码转换成png图片 JPEGTranscoder/PNGTranscoder 转图片 linux 中文乱码

    目录 缺少中文字符集 缺少微软雅黑字体 两种情况:缺少中文字符集,缺少对应中文字体(windows一般默认微软雅黑). 本文链接:https://blog.csdn.net/qq_31183727/a ...

  4. android png图片动画,android图片系列 (4) - SVG动画(动态SVG 图片)

    看过之前那篇介绍静态 SVG 矢量图片的童鞋,应该时有感触的,SVG 就是给我们一个 空的不限制大小的canvas画板,然后我们使用 path 路径去绘制我们需要的图形,这就是静态的 SVG.动态 S ...

  5. 修改svg图片的颜色html,通过CSS改变svg image引入的图片颜色?

    在html元素中通过background设置图片icon,然后通过css3的filter滤镜的drop-shadow 设置阴影来呈现这种改变图片颜色的效果.很不错的方法. 但是我现在的元素是在svg中 ...

  6. 安卓学习笔记--拥抱 SVG:苦恼于图片适配 in Android?

    转载文章地址: 转自lypeer文章 http://gold.xitu.io/post/57dfe16379bc440065e85b2b 拥抱 SVG:苦恼于图片适配 in Android? 前言 不 ...

  7. svg标签和svg文件区别_什么是SVG文件? SVG图片和标签说明

    svg标签和svg文件区别 SVG (SVG) SVG or Scalable Vector Graphics is a web standard for defining vector-based ...

  8. 图像转svg,及绘制svg图像

    图像转svg 1:生成svg图 sudo apt install potrace pythonimport osdef t(img_path):"""img转svg方法: ...

  9. svg标签和svg文件区别_SVGO减少SVG文件大小的三种方法

    svg标签和svg文件区别 This article is part of a series created in partnership with SiteGround. Thank you for ...

  10. html流程svg动画,html5 svg动画

    以上是svg的一个线上编辑器,也可以adobe Illustrator制作生成. 我们通过以上编辑器可以获得以下代码. 例: Layer 1 给路径path 添加 class 为 path1 .pat ...

最新文章

  1. android wear 兼容问题,【悲剧了】仅 1/4 安卓手机兼容 Android Wear - 爱应用
  2. python爬虫数据分析可以做什么-自学Python爬虫学到什么程度?就可以去找工作了?...
  3. 第七章:暴力求解法。第二部分
  4. apache camel_Apache Camel入门
  5. js之ActiveX控件使用说明 new ActiveXObject()
  6. java.lang.IllegalThreadStateException 线程运行报错
  7. qt 复制字符串_Qt字符串处理 QString用法总结(一)
  8. 银行科技管理工作优化提升之我见
  9. 如何打造139团队(不同层次人员的选择与培养,大型研发团队,大型敏捷开发团队)...
  10. Unity3D新手入门初级教程
  11. springboot+安卓app电子阅览室系统毕业设计源码016514
  12. 用JAVA不失精度计算等额本息还款列表
  13. Python的缩进问题unindent does not match any outer indentation level
  14. linux 查看定时任务
  15. 一个人内心强大的4个迹象
  16. 网站搭建:从零搭建个人网站教程(10)
  17. 小柯在学JAVA之第二弹
  18. WFP 学习(一)——构架把握
  19. Goodnotes5 导出pdf bug
  20. 《上古5》置业 周详诀巧风向标

热门文章

  1. python-itchat 统计微信群、好友数量,及原始消息数据
  2. 人工智能领域最佳5种编程语言
  3. Carsim所能实现的功能
  4. 如何给U盘,SD卡加密(压缩加密与veracrypt加密)
  5. 《机器学习实战》-04 朴素贝叶斯
  6. sql注入基础(一)
  7. 华为的鸿蒙河图名字,华为地图起名“河图”,再次震撼国人
  8. 自上而下还是自下而上
  9. Windows文件及文件夹命名规则之admini~1≈administrator问题
  10. 【Bootstrap学习笔记】1.Bootstrap介绍、排版样式、表格和按钮、表单和图片