1、安装svg-sprite-loader

npm i -D svg-sprite-loader

2、配置vue.config.js

const { defineConfig } = require('@vue/cli-service')
const path = require('path')
function resolve(dir) {return path.join(__dirname, dir)
}
module.exports = defineConfig({transpileDependencies: true,chainWebpack(config) {// 设置 svg-sprite-loader// config 为 webpack 配置对象// config.module 表示创建一个具名规则,以后用来修改规则config.module// 规则.rule('svg')// 忽略.exclude.add(resolve('src/icons'))// 结束.end()// config.module 表示创建一个具名规则,以后用来修改规则config.module// 规则.rule('icons')// 正则,解析 .svg 格式文件.test(/\.svg$/)// 解析的文件.include.add(resolve('src/icons'))// 结束.end()// 新增了一个解析的loader.use('svg-sprite-loader')// 具体的loader.loader('svg-sprite-loader')// loader 的配置.options({symbolId: 'icon-[name]'})// 结束.end()}
})

3、工具类

icons/index.js

import SvgIcon from '@/components/SvgIcon'// https://webpack.docschina.org/guides/dependency-management/#requirecontext
// 通过 require.context() 函数来创建自己的 context
const svgRequire = require.context('./svg', false, /\.svg$/)
svgRequire.keys().forEach(svgIcon => svgRequire(svgIcon))export default app => {app.component('svg-icon', SvgIcon)
}

main.js 中引入该文件

// 导入 svgIcon
import installIcons from '@/icons'
const app = createApp(App)
installIcons(app)

4、使用

<svg-icon icon="user" />

【Vue3】图标处理方案SvgIcon相关推荐

  1. Vue组件Icon图标处理方案

    Icon图标处理方案 记录一次对于想使用element-plus之外的图标,如何封装成一个组件,是本次记录的目标,希望在工作时能帮助自己处理图标问题. 分析,对于element-plus的图标可以通过 ...

  2. 一种清除windows通知区域“僵尸”图标的方案——Windows7系统解决方案

    Windows7下"僵尸"图标的解决方案 从<一种清除windows通知区域"僵尸"图标的方案--问题分析>(以后简称<问题分析>)一文 ...

  3. 一种清除windows通知区域“僵尸”图标的方案——XP系统解决方案

    XP下"僵尸"图标的解决方案 从<一种清除windows通知区域"僵尸"图标的方案--问题分析>(以后简称<问题分析>)一文中分析的通知 ...

  4. 一种清除windows通知区域“僵尸”图标的方案——问题分析

    通知区域名称有趣的历史 假如说到windows通知区域,可能很多人还是不清楚它是什么.如果改称Tray区域,可能有人就懂了.如果再白话点,叫它"托盘"或者"系统托盘&qu ...

  5. Vue3导出pdf方案

    Vue3导出pdf方案 1.引入两个依赖 npm i html2canvas npm i jspdf 2.在utils文件夹下新建htmlToPdf.js文件 // 页面导出为pdf格式 import ...

  6. Icon 图标处理方案:SvgIcon

    在vue项目中,我们除了使用组件库(ant-design-vue element-ui)的icon以外,还有我们自己自定义的图标,对于自定义图标的话,我们暂时还缺少显示的方式.所以说我们需要一个自定义 ...

  7. 技术选型(Vue3 + TS)方案

    1. 编程语言的选型 1.1 js 1.1.1 js简介 JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web 页面的脚本语言而出名的, ...

  8. flutter中使用图标(含自制图标库方案)

    flutter中使用图标(含自定义图标图) 作者: jcLee95 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_28550263?sp ...

  9. Android 8.0 华为手机 桌面应用图标显示圆形适配方案

    Android 8.0的启动图标适配方案可以参考以下两篇文章 一篇是郭霖大神的Android应用图标微技巧,8.0系统中应用图标的适配 还有另外一篇:android8.0桌面图标适配以及相应问题的解决 ...

最新文章

  1. 扫码登录是如何实现的?
  2. oracle 提示i386,新手请教:RAC安装时检测i386软件包未安装,这个怎么处理?
  3. js:自动亮起100盏灯
  4. Spring aop面向切面编程概述
  5. 三维重建6:绑架问题/SensorFusion/IMU+CV-小尺度SLAM
  6. luogu P4240 毒瘤之神的考验(莫比乌斯反演+递推前缀和+数论分块)
  7. [css] 手写一个满屏品字布局的方案
  8. 正则表达式验证密码强度
  9. 电商5个流程的用户体验
  10. Linq To Sql, 为何继承就这么费劲?
  11. 用MySQL-zrm来备份和恢复MySQL数据库
  12. 20200203_selenium爬取百度新闻
  13. angular4学习记录 -- 依赖注入
  14. C#、JS、HTML - 转义字符
  15. iOS开发网络篇—GET请求和POST请求(转)
  16. network 节点label以及相关字体设置
  17. 小米手机测试代码电池测试代码
  18. php数组倒排,js中数组倒序排列的方法
  19. Shattered Cake
  20. bzoj 4816: 洛谷 P3704: [SDOI2017]数字表格

热门文章

  1. 深圳十大绝美看海圣地|深圳海边一日游攻略
  2. 软件测试:什么样的公司需要专职测试?
  3. 蜘蛛侠面具(头套制作)
  4. 自阿里P8爆出1031道java面试题后,我在boss直聘狂拿千份Offer
  5. python3版本升级和系统更新_如何更新mac系统自带的python版本到最新3.3
  6. 树莓派4B Ubuntu 21.04 自动温控开关风扇以及RPi.GPIO避坑指南
  7. 阿里M8级大神整理出SQL手册:收获不止SQL优化,抓住SQL的本质
  8. 爬虫很调皮?来看看反爬虫收拾爬虫的法子有哪些!
  9. 前端埋点数据收集及上报方案
  10. Problem L: 卡拉兹猜想