elementui 打包后图标加载偶尔会乱码
疑问:百度了,说是dart-sass的问题,
解决方案:去掉dart-sass 改回node-sass
最近在 使用element UI 写项目, 项目在生产环境运行了一段时间后,页面刷新偶尔会出现 (搜索,箭头。。。)各种图标乱码情况
发生一下情况:
相同问题关注中,刚试了下直接下载最新框架然后编译,也是存在编译后图标的content乱码问题。
自己项目有试过卸载dart-sass然后安装node-sass,这样编译后不会乱码,
但是dart-sass才是未来方向,而且换node-sass后本地图片加载出现问题,担心还有其他问题,所以还是排除该解决方法
因为 sass-loader 会检查运行环境的模式,给 dart-sass 传入 { outputStyle: “compressed”
}。 dart-sass 在这时会使用 BOM 而不是输出 @charset。
如果是通过 @vue/cli 搭建的环境,因为有 cssnano 处理压缩,所以可以给 vue.config.js 传入 sassOptions 避免 compressed。
最佳解决方案:
// vue.config.js
module.exports = {
css: {
loaderOptions: {
sass: {
sassOptions: { outputStyle: "expanded" }
}
}
}
}
至此 完美解决