一.安装插件

npm install svg-sprite-loader --save-dev

二:配置,在Vue.config.js加入处理 svg 的 loader

//3.0版本chainWebpack: config => {const svgRule = config.module.rule('svg')// 清除已有的所有 loader。// 如果你不这样做,接下来的 loader 会附加在该规则现有的 loader 之后。svgRule.uses.clear()svgRule.test(/\.svg$/).include.add(path.resolve(__dirname, './src/icons')).end().use('svg-sprite-loader').loader('svg-sprite-loader').options({symbolId: 'icon-[name]'})const fileRule = config.module.rule('file')fileRule.uses.clear()fileRule.test(/\.svg$/).exclude.add(path.resolve(__dirname, './src/icons')).end().use('file-loader').loader('file-loader')}

三,根目录创建icons文件夹,来放所有的svg文件,也可直接去github官网下载icons文件地址 直接复制


index.js代码

import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component// register globally
Vue.component('svg-icon', SvgIcon)const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

在src/components下新建文件夹及文件SvgIcon/index.vue

index.vue代码: .svg-icon:可自定义设置大小

<template>
<svg :class="svgClass" aria-hidden="true" v-on="$listeners"><use :xlink:href="iconName" />
</svg>
</template><script>export default {name: 'SvgIcon',props: {iconClass: {type: String,required: true},className: {type: String,default: ''}},computed: {iconName() {return `#icon-${this.iconClass}`},svgClass() {if (this.className) {return 'svg-icon ' + this.className} else {return 'svg-icon'}}}}
</script><style scoped>.svg-icon {width: 1em;height: 1em;vertical-align: -0.15em;fill: currentColor;overflow: hidden;}
</style>

四,在main.js中引入并注册

五,使用


<svg-icon icon-class="svg的文件名" class-name="card-panel-icon" />

去阿里矢量库下载你需要的图标,添加到icons的svg目录下,可自定义文件名及使用 ,地址: 阿里巴巴矢量图标库

更多学习关注公众号:程序猿的进化

Vue3.0及以上版本的项目添加svg图片及使用阿里矢量图片库相关推荐

  1. windows下载安装Vue开发者工具(VueDevtools),同时支持vue2.0和vue3.0两个版本

    前言 vue开发者工具可以帮助我们提高开发效率,如果不安装控制台老是现在这些东西,对我这种强迫症患者来说痛苦至极,下面我就介绍下我的安装步骤 下载安装 首先进入vue官网找到如下位置 然后就会进入gi ...

  2. vue项目使用svg图片

    (svg-sprite-loader以及vue2-svg-icon的使用) 第一种方式: 1.安装svg-sprite-loader         npm install svg-sprite-lo ...

  3. 前端学习(2670): vue3.0实战开始建立新项目功能清单

  4. 前端学习(2669): vue3.0实战开始建立新项目

  5. java sl4j 日志_为Java项目添加slf4j的log日志-阿里云开发者社区

    我们今天要给之前编码的一个maven的web项目提供slf4j的日志,这样所有的日志信息可以显示到项目的某个目录的log文件中. 项目的样子如下图: 首先配置pom,我也不知道下面的内容是否必要 or ...

  6. 使用umiJs搭建前端项目添加背景图片

    1.找到路径 修改全局样式的文件名为 global.less,我们可以在浏览器界面使用 F12 打开检查元素窗口,找到对应布局的标签.由于 React 构建的是单页面应用,直接找 <div id ...

  7. 如何搭建一个完整的Vue3.0 + ts 的项目

    如何搭建一个完整的Vue3.0 + ts 的项目 相信9月18日尤大大的关于Vue3.0的发表演讲大家一定有所关注,现在Vue3.0 也已经进入RC阶段(最终产品的候选版本,如果没有问题则可发布成为正 ...

  8. vue 不识别svg_vue中引用svg,vue引入svg不显示,vue引用svg配置,vue3.0+ts如何配置svg...

    注意: 如果按照下面配置正确发现svg依然无法显示可能s'v'g-sprite-loader的版本过高,重新指定版本下载npm i svg-sprite-loader@3.8.0 --save-dev ...

  9. 基于vue3.0简单的页面使用

    基于vue3.0简单的页面使用 项目效果图 项目文件图 package.json main.js App.vue views/Tutorial.vue views/TS.vue views/Docs. ...

最新文章

  1. Shell 函数、数组与正则表达式
  2. nullnullDataTable 排序
  3. SAP HANA要改变什么?
  4. C# 自定义 implicit和explicit转换
  5. 怎么解决表字段变化引起的MBG 文件变化的问题?
  6. 高可用架构设计之道,实战案例直面流量洪峰
  7. 对IP专用(私有)地址的理解!
  8. 关于MySQL 查询表数据大小的总结
  9. oracle的基本数据类型(转载)
  10. 【华为云技术分享】《跟唐老师学习云网络》— Ping喂报文
  11. 用python生成九九乘法表的指令_Python中生成九九乘法表的方法有哪几种?
  12. MySQL抛出 Lock wait timeout exceeded; try restarting transaction
  13. python pip升级问题之使用代理端口
  14. linux文件IO的操作
  15. 图神经网络GNN论文2019-2020顶会列表
  16. Intellij IDEA 报错java.lang.NoClassDefFoundError
  17. 经验模态分解(Empirical Mode Decomposition ,EMD)特征提取及其原理
  18. 计算机管理-磁盘管理中进行扩展卷操作,管理磁盘diskpart命令
  19. gnu grub修复_linux命令:grub 文件详解及grub修复,系统常见故障修复
  20. ONF组织的SDN架构文档——四个架构(三/一)

热门文章

  1. 自定义函数C语言编写x的n次方,c语言求x的n次方的函数是什么
  2. JS逆向steam登录
  3. sklearn 5.14.7 univariate feature selection
  4. 第十三章 疯狂Caché 锁管理
  5. 清华计算机系最低分,清华大学最低录取分数线是多少?
  6. Twitter 工程师眼中的新浪微博
  7. 【前端】JavaScript详细教程(三)
  8. sqlite3_exec及其回调函数
  9. 用英语写计算机输出设备分类,1.2 计算机常用的输入输出设备(国外英文资料).doc...
  10. Java实战案例一:图书借阅系统