element ui 的 icon 偶现乱码的问题

3,438 阅读1分钟

现象

生产环境下,偶现 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-sassnode-sass 以后将不再维护。

2.如果没有自定义主题,也可引入 element-ui 的 css 文件的 cdn 去解决这个问题。