styzhang / css-unicode-loader

webpack loader for convert chinese or double-byte character string of scss/sass/less/css files to unicode encoding.
MIT License
37 stars 6 forks source link

你好,想问一下乱码问题的原因是sass-loader的问题吗?感谢! #4

Closed sjzgit closed 2 years ago

sjzgit commented 2 years ago

环境:node16 + @vue/cli4 + elementUI2.15.7 + sass 1.43.4 + sass-loader 10.1.1 该环境中打包之后会出现 el-icon css乱码: image

但是同样的版本使用vitejs构建的项目就正常,当然vitejs不需要手动引入:sass-loader。

使用了大佬的这个loader确实解决了,想了解一下深层原因,请教一下

styzhang commented 2 years ago

@sjzgit 和sass-loader没关系,是sass(dart-sass)的原因,可参考这个issue下这个comment:#3526-764542268 不过这个问题已经在dart-sass v1.38.0的版本修复了,不过只在扩展模式(expanded)下有效,压缩模式(compressed)下依然还有这个问题,一般项目中都是压缩模式。 下面是我本地单独用sass命令编译element的图标样式的结果 扩展模式下dart-sass v1.37.0版本与dart-sass v1.38.0版本的对比: image

可以看到1.37.0版本编译输出的是Unicode明文(编辑器上看着是空格,但其实是乱码,粘贴到浏览器上显示就变成了乱码),而1.38.0版本输出的Unicode编码 压缩模式下dart-sass v1.37.0版本与dart-sass v1.38.0版本的对比: image 可以看到压缩模式下的编译结果还是unicode明文,也就是乱码了 你自己可以本地单独用sass命令编程输出css文件试试

jetBn commented 2 years ago

sass升级到1.38.0使用那个element不是有warning 怎么去除。

styzhang commented 2 years ago

sass升级到1.38.0使用那个element不是有warning 怎么去除。 @jetBn sass 命令编译的时候带上--quiet参数就可以了 image

image

这个warning不影响输出,去不去除都没关系;另外注意即使升到1.38.0+版本压缩模式下编译输出还是乱码

jetBn commented 2 years ago

那还是用这个插件 吧感觉 @styzhang

sjzgit commented 2 years ago

好的,非常感谢

zuoyifeng commented 1 year ago

sass升级到1.38.0使用那个element不是有warning 怎么去除。 @jetBn sass 命令编译的时候带上--quiet参数就可以了 image

image

这个warning不影响输出,去不去除都没关系;另外注意即使升到1.38.0+版本压缩模式下编译输出还是乱码

请教一下,这个忽略的写法具体怎么敲得,按这种改法,意思这个警告不影响实际除法功能吗?不用理会?