可以't导入更少的UTF-8 BOM编码的文件

Can't import less files encoded in UTF-8 BOM

本文关键字:UTF-8 BOM 编码 文件 导入 可以      更新时间:2023-09-26

我在node.js中使用了less编译器,我知道使用BOM以UTF-8编码的文件存在问题。为此,此解决方法非常有效:

data = data.replace(/^'uFEFF/, ''); // Strip potential BOM

然而,在导入文件时,使用@import语句仍然会在第一行出现语法错误。有没有办法解决这个问题?

BOM将在less.js-1.3.1的下一个版本中剥离。您也可以在github源页面上试用它。

https://github.com/cloudhead/less.js/commit/6696368eb351824f33dc0aac67143d8ea80a085a

UTF-8文件中的BOM毫无意义。

您应该修复源文件,因为许多其他工具将(正确地)在此BOM表中出现问题。所有认真的编辑器都可以编写没有BOM的UTF-8文件。

如果你必须接收和处理这样的文件,你应该自动修复它们,例如(如果需要,在工作副本上操作):

awk '{if(NR==1)sub(/^'xef'xbb'xbf/,"");print}' INFILE > OUTFILE

(取自Using awk to remove the Byte order mark)