sass 编译 可能会出现两种情况:
一、手动编译
比如编译的文件内有 包含中文 例如:
@charset "utf-8"
/* 出现中文的注释 */
$fontFamily: '微软雅黑';
*{
font-family:$fontFamily;
}
编译:
报错 :error src/sass/common.scss (Line 4: Invalid GBK character "\xE5")
解决方案:
找到此文件C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.4.22\lib\sass\engine.rb
在require XXX
下一行 添加 Encoding.default_external = Encoding.find('UTF-8')
即可
二、gulp下的watch
报错: Encoding::CompatibilityError: incompatible character encodings: GBK and UTF-8 Use --trace for backtrace.
出现此类错误时 检查下路径是否出现中文。
总结
总结一下:
- sass手动编译乱码:在C:\Ruby23-x64\lib\ruby\gems\2.3.0\gems\sass-3.4.22\lib\sass\engine.rb的所有require后加一句 Encoding.default_external = Encoding.find('utf-8')。
- watch编译乱码:watch编译的路径不能有中文。