1.安装依赖包 svg-sprite-loader

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

2.配置svg图片使用svg-sprite-loader来编译----在webpack.base.config.js中的配置修改

添加svg编译

{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},

取消原来的url-loader编译

exclude: [resolve('src/icons')],

3.新建svg的子组件。

在src下新建文件夹及文件SvgIcon/index.vue,index.vue中内容如下

<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>

4.新建导入svg的js文件 --在src下新建icons文件夹,及icons文件夹下svg文件夹、index.js文件, index.js文件内容如下

这个文件一方面可以把组件注册一下,另一方面按需加载目录下的所有svg图片

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

5.在main.js中使用刚刚新建的js文件

import './icons'

以上就配置好了

使用方法:

1.下载svg图片文件

阿里云提供的iconfont:https://www.iconfont.cn

2.下载svg格式的图片,将下载下来的图片放置到到项目中src下的icon中建的svg文件夹下

3.在使用的地方加上以下代码,期中test就是svg图片的名称

<svg-icon icon-class="test"></svg-icon>

vue中使用svg图片相关推荐

  1. vue中使用 svg图片

    vue中使用 svg图片 1.assets 中新建 icons 文件夹:icons文件夹下 svg 是svg图片,index.js,svgo.yml 文件如下: a. index.js import ...

  2. vue中写svg组件svg图片加载不出来

    vue中写svg组件svg图片加载不出来 结构 首先要安装3个插件:svg-sprite-loader,svgo,svgo-loader npm install svg-sprite-loader - ...

  3. Vue中使用SVG图标的步骤【钢镚核恒】

    Vue中使用SVG图标的步骤 简介 svg 可缩放矢量图形(Scalable Vector Graphics) svg 优势:任意缩放,超强显示效果,较小文件,可压缩 svgo 用来压缩svg中无用信 ...

  4. 【Android 安装包优化】Android 中使用 SVG 图片 ( Android 5.0 以下的矢量图方案 | 矢量图生成为 PNG 图片 )

    文章目录 一.Android 5.0 以下的矢量图方案 二.矢量图生成为 PNG 图片 三.完整的 build.gradle 构建脚本 四.编译效果 五.参考资料 一.Android 5.0 以下的矢 ...

  5. 在Vue中使用svg格式字体图标

    在Vue中使用svg格式字体图标 1.新建一条分支,在新分支上修改,测试无误后合并到开发分支(建议) 2.先安装svg-sprite-loader ( 在打包时 处理svg格式并展示到项目中的过滤器 ...

  6. Vue 加载 SVG 图片文件

    Vue 加载 SVG 图片文件 /svg/icons.js export default {// LOGOlogo: require('./logo.svg'),logo_content: requi ...

  7. 在vue中设置背景图片

    在vue中设置背景图片 在App.vue中将样式中默认的margin-top 改为0,使得页面顶部不留白 #app {font-family: 'Avenir', Helvetica, Arial, ...

  8. 在 vue 中使用 SVG 建立图标系统并且使用

    首先我们先来学一下 svg 标签的基础知识,参考了阮一峰大神的网络日志,链接:http://www.ruanyifeng.com/blog/2018/08/svg.html SVG 全称是可缩放矢量图 ...

  9. vue中设置背景图片的方式

    vue中设置背景图片 直接设置背景图片 动态设置背景图片 直接设置背景图片 1.在data中声明背景图片相关配置 export default {data () {return {// 顶部导航背景图 ...

最新文章

  1. R语言dplyr包使用recode函数进行数据列内容编码、转换实战:类似于pandas中的map函数(例如,将内容从字符串映射到数值)
  2. mysql增加字段默认位置_MySQL语句增加字段,修改字段名,修改类型,修改默认值
  3. 两次备考信息系统项目管理师长篇心路历程附考试技巧
  4. mysql正则表达式简单
  5. [转帖] 固定硬盘接口 U.2和M.2
  6. 嵌入式开发C语言中的uint8_t
  7. (完整版)环境工程学复习资料资料
  8. 萤火虫(FA)算法(附完整Matlab代码,可直接复制)
  9. win11 dev cpp程序关闭时弹出cmd错误0xc0000142的解决方法
  10. 学校计算机管理员安全责任书,实验室管理员安全责任书
  11. 计算机上静音快捷键是什么,电脑静音快捷键是什么(电脑静音快捷键怎么设置)...
  12. 百度K站“漏洞”被发现,如何预防被百度人工K站
  13. Java8之深克隆与浅克隆
  14. Warning: To load an ES module, set “type“: “module“ in the package.json or use the .mjs extensi
  15. 固定翼飞机姿态角Backstepping反步法控制
  16. Mac 外接键盘Command键( Windows 徽标键)失效
  17. 计算机logo在线设计,手机上在线制作免费logo图标的APP—Logo Foundry
  18. [洛谷P2698] [USACO12MAR]花盆Flowerpot
  19. 定时任务多线程-springboot
  20. kinetics-skeleton格式行为数据提取方法

热门文章

  1. Win10管理员用户被禁用,无法登陆系统
  2. jmeter结果树为空_Jmeter查看结果树之查看响应的13种方法[详解]
  3. html中把图片移动位置不变,css如何定位图片保持位置不变?
  4. Unity-IOS遇到的坑 --记账本
  5. ADP网站服务器,手把手帮您win7系统搭建adp本地服务器的方案
  6. unity内部自带局域网制作
  7. Feed Ratios_usaco3.2_暴力
  8. 反射式、透射式空间光调制器简介
  9. 接口和抽象类练习:教练和运动员案例: (1)人员:乒乓球运动员和篮球运动员。乒乓球教练和篮球教练。 (2)为了出国交流,跟乒乓球相关的人员都需要学习英语。 请用所学知识分析,设计类和接口。
  10. python容易学ma_初学者学python 初学者学python好学吗