Vue.js项目中使用iconfont冲突问题解决
在开发前端项目中,字体图标变得越来越常用。一方面因为它比图片使用起来方便,可以像字体一样修改大小和颜色;另一方面是因为它可以减少请求数量,优化前端性能。
iconfont的使用方法很简单,主要由三种引入方式:Unicode, Font Class,Symbol。不会的可以去官网看看:https://www.iconfont.cn/
但是在实际项目中,我们可能会遇到iconfont冲突的问题,简单来说就是某个项目存在多个iconfont资源目录,而且命名没有修改(默认名都是"iconfont")。导致在页面加载时无法确定使用哪个资源目录下的图标,就会显示不出来。
举个我实际项目中的例子(由于浏览器的限制,我使用的是font class方法):在开发项目A时,我在assets目录里,新建一个iconfont文件夹用来存储该项目中需要用到的iconfont资源;由于需求我需要开发一套通用UI组件,考虑到插件的独立性和移植性,我想把该组件与项目解耦,包括资源,方法等。于是我在components目录下新建一个目录componentA,里面由独立的assets,function目录。由于iconfont都是从官网直接下载,没有修改,导致这两个资源的命名都是"iconfont",导致组件中iconfont始终都加载不出来。

原因:字体命名冲突,样式命名冲突,导致字体图标显示不出来。由于两个地方的iconfont.css文件中的字体命名都是"iconfont",而且样式命名也是相同的,导致问题的出现。
解决办法:既然明确了问题的原因,只要修改其中一个文件的命名就好了,如下图。

修改好iconfont.css文件后,引用的地方也需要修改。如下图:

重新运行项目,组件中和项目中的iconfont都可以正常显示。
Vue.js项目中使用iconfont冲突问题解决的更多相关文章
- 如何Vue-cli开始使用在Vue.js项目中启动TDD(测试驱动开发)
通常,使用测试驱动开发(TDD)最困难的部分是开始.你必须下载带有奇怪依赖项的软件包,让测试套件与你的构建系统协同工作,然后你必须弄清楚如何编写一个测试!难怪这么多的开发者在你提起它的时候就开始跑开了 ...
- Vue.js项目中,当图片无法显示时则显示默认图片
使用require将图片进入,写法如下: data: () => ({logo: 'this.src="' + require('../assets/img.png') + '&quo ...
- 如何降低Vue.js项目中Webpack打包文件的大小?
https://blog.csdn.net/maray/article/details/50988500?utm_source=blogxgwz0 import Blur from ‘vux/src/ ...
- Vue.js项目中使用 Ajax 和 FormDate 对象上传文件
let param = new FormData(); param.append("paths", this.ruleForm.uploadPath); param.append( ...
- vue.js项目安装
Vue.js 安装 NPM 方法安装vue.js项目 npm 版本需要大于 3.0,如果低于此版本需要升级它: # 查看版本 $ npm -v 2.3.0 #升级 npm npm install np ...
- vue.js项目构建
这里构建的vue.js项目依赖node服务器运行. 项目搭建完整步骤: 安装node.js ,转至nodeJs网站http://nodejs.cn/ 下载nodeJs进行安装. 安装完毕检查nodeJ ...
- vscode下面开发vue.js项目
vscode下面开发vue.js项目 https://blog.csdn.net/linzhiqiang0316/article/details/79176651 vscode下面开发vue.js ...
- 建立多页面vue.js项目
介绍 根据需求,我们希望建立一个多页面的vue.js项目,如何改造单页面vue.js项目为多页面项目?跟着我的步伐看下去吧. 1.创建单页面vue.js项目 简单的记录一下创建步骤: --安装cnpm ...
- 如何把vue.js项目部署到服务器上
如何把vue.js项目部署到服务器上面,我用的是tomcat服务器 1-改一下config/index.js文件,如下图,把assetsPublicPath: './', productionSour ...
随机推荐
- ASP.NET Core快速入门(第3章:依赖注入)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务16:介绍 1.依赖注入概念详解 从UML和软件建模来理解 从单元测试来理 ...
- mvc5 源码解析1:UrlRoutingModule
注册在C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG \webconfig中 在该module源码中 我们可以看出注册了application ...
- Codeforces 939A题,B题(水题)
题目链接:http://codeforces.com/problemset/problem/939/A A题 A. Love Triangle time limit per test 1 second ...
- navicat 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
安装了navicat 和 mysql,结果最后在navicat中连接mysql时,出现了如下错误提示: Client does not support authentication protocol ...
- Ubuntu19.04安装常用软件
安装Indicator Stickynotes 桌面便签小工具sudo add-apt-repository ppa:umang/indicator-stickynotessudo apt-get u ...
- 章节十四、9-Actions类鼠标悬停、滚动条、拖拽页面上的元素
一.鼠标悬停 1.在web网站中,有一些页面元素只需要我们将鼠标指针放在上面就会出现被隐藏的下拉框或者其它元素,在自动化的过程中我们使用Actions类对鼠标进行悬停操作. 2.案例演示 packag ...
- Spring Cloud Netflix之Eureka服务消费者
Eureka服务消费者介绍 Eureka服务消费者用于发现服务和消费服务,发现服务通过Eureka Client完成,消费服务通过Ribbon完成,以实现负载均衡.在实际项目中,一个服务往往同时是服务 ...
- 分布式系统全局唯一ID的生成
分布式系统全局唯一ID的生成 一 .什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后 ...
- JMETER 计数器的表现
1.计数器在线程中表现(虚拟用户). 线程组使用4个线程即4个虚拟用户. 如果不勾选每用户独立跟踪计数器. 那么这个计数器将会累加4次. 计算结果为7. 勾选的情况. 这里我们可以看到 index 一 ...
- Linux下对input设备调用ioctl时指定EVIOCGBIT选项时的缓冲区该多大【转】
转自:https://blog.csdn.net/imred/article/details/82669990 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出 ...