我在第一行有一个带有charset指令的SCSS文件。
@charset 'UTF-8';
我们使用scss-lint强制单引号和其他一些东西。
问题是,除非您使用双引号,否则@charset
指令似乎不起作用。所以我尝试使用scss-disable comment指令。
// scss-lint:disable SingleQuotes
@charset "UTF-8";
// scss-lint:enable SingleQuotes
出于某种原因,这根本不起作用。 linter仍然将双引号视为错误。我检查了禁用所有选项,这似乎可以解决问题。
// scss-lint:disable all
@charset "UTF-8";
// scss-lint:enable all
但事实证明,@charset
必须是文件中的第一件事。
作为参考,我们需要明确指定UTF-8,因为我们在content
插入中使用了unicode字符。我的开发机器采用Unicode并且构建良好,但我们的CI服务器不会构建,除非我们包含该指令。
有没有更好的方法来解决这个问题,而不仅仅是从我们的linting列表中排除带有unicode的文件?
答案 0 :(得分:0)
您是否尝试过删除线路?根据官方的SASS文档,如果没有设置,则假定它是UTF-8作为标准!
编码
在Ruby 1.9及更高版本上运行时,Sass知道该角色 文件编码。 Sass遵循CSS规范来确定 样式表的编码,并回退到Ruby字符串编码。 这意味着它首先检查Unicode字节顺序标记,然后是 @charset声明,然后是Ruby字符串编码。如果没有这些 设置后,它将假定文档为UTF-8。
如果您将UTF-8编码添加为HTML标准,W3也是如此:
您应该始终使用UTF-8作为您的样式的字符编码 工作表和HTML页面,并在HTML中声明该编码。如果 你这样做,没有必要声明你的风格的编码 片材。