vue-cli 3中dart-sass替换node-sass,element ui icon图标乱码问题
admin
2024-02-24 08:36:28

现在dart-sass是未来的主流,所以近期把一个老项目node-sass 替换成 dart-sass

但是却发现另一个问题,icon图标竟然偶尔出现乱码问题

sass编译unicode图标出现问题

分析了一下这个问题出现的原因,如果一般使用不会出现这个问题,因为一般引入的是element-ui的css文件

但是为了实现主题色变化,需要用到scss变量引入了scss文件

@import "~element-ui/packages/theme-chalk/src/index";

dart-sass在编译element-ui里icon伪元素的content unicode编码时会转换成对应unicode明文。

所以通过伪元素来展示的图标如el-icon-edit:before{ content: “\e878”},编译之后就变成了el-icon-edit:before{ content: “”},“”便是一个双字节字符,导致出现乱码

/* 编译前 */
.el-icon-edit{content:'\e878'}/* 编译后 */
.el-icon-edit{content:""}/*# sourceMappingURL=index.css.map */

解决方法

module.exports = {css: {loaderOptions: {sass: {sassOptions: {// 生效代码outputStyle: 'expanded'}	}}}
}

sass的默认输出格式为expanded,编译时不会转换unicode字符。

sassLoader修改了sass默认输出格式为compressed

因此我们在配置sassLoader时将输出格式重新改为expanded便能解决问题

相关内容

热门资讯

原创 餐... 2026年9月8日晚,南京浦口区泰冯路29号,墨语江南·阿婆菜餐厅户外帐篷里,灯火温润,其间还天降喜...
原创 它... 人到中年肝肾精血慢慢耗损,容易腰膝酸软、头晕眼花、精神疲惫。黄精性平,擅长补肝肾、益精血,搭配不同食...
同样卖奶茶,为何古茗赚了15亿... 出品/联商专栏 撰文/老刀 编辑/蔡建桢 今年上半年,蜜雪、古茗、霸王茶姬、茶百道、沪上阿姨全部盈利...
现烤散装走俏、新口味亮相、健康... 中秋佳节临近,成都月饼市场已全面开启“上新季”。记者连日来走访成都多家商超看到,月饼专区占据卖场核心...
散装月饼靠性价比当上“人气王” 华润超市货架上的散装月饼。 深圳报业集团记者 欧阳莹 摄 深圳晚报讯 (深圳报业集团记者 欧阳莹) ...