问题描述
项目中引用了element-ui,偶现icon图标乱码问题,但是我们自己的icon是可以正常展示的,由于偶现概率的问题,问题十分难以定位。
问题原因
网上搜索出来,有人说是因为node-sass在编译的过程中导致的乱码问题。blog.csdn.net/ringlot/art…
因为element引入的是.scss文件,所以需要经过node-sass编译后才能变为css文件,交给浏览器去执行。
iconfont的引入方式大概有两种
- 通过字体的方式 即unicode引入
- 通过Svg的方式引入 即symbol引用 出现iconfont混乱的时候,我们项目本地的icon依然可以正常展示,因为我们项目的icon使用的是symbol引用。
所以可以断定,问题一定是出在了css样式的问题
去node_modules包中去查看element/packages/theme-chalk/src/icon.scss源码
查看element/packages/theme-chalk/lib/icon.css,即打包后的代码
网上的解决方案是通过引入element/packages/theme-chalk/lib/icon.css的方式,这样就不会走node-sass编译,也就不会出现乱码的问题。
疑问
但是~讲道理,如果是编译的问题,肯定是打包产物一直都是存在问题的。但是为什么刷新页面就好了呢?
有没有哪位大神能解释下?