element-ui的图标偶现乱码问题

900 阅读1分钟

问题描述

项目中引用了element-ui,偶现icon图标乱码问题,但是我们自己的icon是可以正常展示的,由于偶现概率的问题,问题十分难以定位。

image.png

image.png

image.png

问题原因

网上搜索出来,有人说是因为node-sass在编译的过程中导致的乱码问题。blog.csdn.net/ringlot/art… 因为element引入的是.scss文件,所以需要经过node-sass编译后才能变为css文件,交给浏览器去执行。

iconfont的引入方式大概有两种

www.iconfont.cn/help/detail…

  • 通过字体的方式 即unicode引入
  • 通过Svg的方式引入 即symbol引用 出现iconfont混乱的时候,我们项目本地的icon依然可以正常展示,因为我们项目的icon使用的是symbol引用。

image.png

image.png

所以可以断定,问题一定是出在了css样式的问题
去node_modules包中去查看element/packages/theme-chalk/src/icon.scss源码

image.png 查看element/packages/theme-chalk/lib/icon.css,即打包后的代码

image.png

网上的解决方案是通过引入element/packages/theme-chalk/lib/icon.css的方式,这样就不会走node-sass编译,也就不会出现乱码的问题。

疑问

但是~讲道理,如果是编译的问题,肯定是打包产物一直都是存在问题的。但是为什么刷新页面就好了呢?
有没有哪位大神能解释下?