Vue3 项目中 svg 图标的封装及使用

安装

npm install vite-plugin-svg-icons -D

在 vite.config.ts 中配置插件:

import { createSvgIconsPlugin} from 'vite-plugin-svg-icons';
import path from 'path';

 plugins: [
    createSvgIconsPlugin({
      iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
      symbolId: 'icon-[dir]-[name]'
    })
  ],

在入口文件进行配置:

import 'virtual:svg-icons-register'

使用方法

在assets/icons/ 下引入 svg 格式的文件,并给图标命名。
在这里插入图片描述

只需在需要的地方,使用 svg 引入图标即可。需要注意的点是:xlink:href用哪个图标,其属性值必须是 #icon-图标名字。

<svg width="100" height="100">
   <use xlink:href="#icon-music"></use>
 </svg>

在这里插入图片描述

组件封装

<template>
    <svg>
        <use :xlink:href="prefix + name" :fill="color"></use>
    </svg>
</template>

<script setup lang="ts">
defineProps({
    // xlink:href 前缀
    prefix: {
        type: String,
        default: '#icon'
    },
    // 图标的名字
    name: String,
    // 图标颜色
    color: String
})
</script>

组件的使用

import SvgIcon from '@/components/SvgIcon/index.vue'

<svg-icon name="music" color="pink"></svg-icon>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码搬运媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值