3

我将 less 编译器与 node.js 一起使用,并且我知道使用 BOM 以 UTF-8 编码的文件存在问题。为此,此解决方法效果很好:

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

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

4

2 回答 2

1

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

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

于 2012-08-30T11:37:14.810 回答
0

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

于 2012-08-30T11:25:35.860 回答