现象
生产环境下,偶现 element ui 的 icon 乱码,遇到时刷新一次就正常了。开发环境从未遇到过。
根据网上查找,该问题可能跟 sass
的编译有关。而且 element-ui
官方也用的 node-sass
去编译的。而我的项目用的 sart-sass
。
这可能是对的。因为图标乱码只发生在 element-ui 的 图标上,iconfont正常。而项目中,iconfont 的css是外链加载的,表现类似于\EA08
,`element ui 的icon 因为自定义主题的原因,是需要sass编译的,编译后的结果如下:
scss文件:
```css
a::before {
content: "\EA08";
}
```
dart-sass的编译结果是
```css
a::before {
content: "";
}
```
node-sass的编译结果是
```css
a::before {
content: "\EA08";
}
```
解决办法
1.使用 node-sass
代替 dart-sass
去编译 sass
npm uninstall sass
npm install node-sass -D
但是 sass
官方推荐使用 dart-sass
替代 node-sass
,node-sass
以后将不再维护。
2.如果没有自定义主题,也可引入 element-ui 的 css 文件的 cdn 去解决这个问题。