vue3使用vite构建如何引入svg图标

强烈推荐使用 vite-svg-loader库。该库每周 npm 下载量大概12w,目前版本已经更新到了 5.1.0,使用方式极其简单,官方文档示例清晰易懂。

本文将简单介绍一下该库的使用方法,更多进阶用法可自行查看官方文档。

1. 安装 vite-svg-loader 库

bash 复制代码
npm install vite-svg-loader --save-dev

2. 在 vite.config 中注册

js 复制代码
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

import svgLoader from 'vite-svg-loader'

export default defineConfig({
  plugins: [
      vue(), 
      svgLoader()
  ]
}

3. 在组件中使用 svg 图标

直接在组件的 script 中引入图标即可在 template 中使用,像引入组件一样。

vue3 复制代码
<script setup>
import IconTest from '@/assets/svg/test.svg'
<script>

<template>
    <IconTest />
</template>

4. 注意事项

如果你想要图标的颜色、大小,自动跟随字体的颜色、大小,那么你可能需要修改下载的 svg 文件。

  • svg 元素上添加一个 fill="currentColor" 属性,并移除 path 元素上的 fill 属性。如下图:

  • 或者,在 svg 元素上添加一个 class="svg-icon" 属性,也要移除 path 元素上的 fill 属性,最好将设置这个类的样式文件全局引入(也可以将这个类添加在 app.vue 中)。样式内容如下:

    css 复制代码
    .svg-icon {
      width: 1em;
      height: 1em;
      fill: currentColor;
    }

主要参考了 vite-svg-loader 的官方文档

相关推荐
码客前端4 分钟前
理解 Flex 布局中的 flex:1 与 min-width: 0 问题
前端·css·css3
Komorebi゛5 分钟前
【CSS】圆锥渐变流光效果边框样式实现
前端·css
工藤学编程17 分钟前
零基础学AI大模型之CoT思维链和ReAct推理行动
前端·人工智能·react.js
徐同保18 分钟前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf
怕浪猫19 分钟前
React从入门到出门第四章 组件通讯与全局状态管理
前端·javascript·react.js
内存不泄露24 分钟前
基于Spring Boot和Vue 3的智能心理健康咨询平台设计与实现
vue.js·spring boot·后端
欧阳天风26 分钟前
用setTimeout代替setInterval
开发语言·前端·javascript
EndingCoder30 分钟前
箭头函数和 this 绑定
linux·前端·javascript·typescript
郑州光合科技余经理30 分钟前
架构解析:同城本地生活服务o2o平台海外版
大数据·开发语言·前端·人工智能·架构·php·生活
沐墨染32 分钟前
大型数据分析组件前端实践:多维度检索与实时交互设计
前端·elementui·数据挖掘·数据分析·vue·交互