我将 less 编译器与 node.js 一起使用,并且我知道使用 BOM 以 UTF-8 编码的文件存在问题。为此,此解决方法效果很好:
data = data.replace(/^\uFEFF/, ''); // Strip potential BOM
但是,在导入文件时,using@import
语句仍然会在第一行给出语法错误。有没有办法解决这个问题?
我将 less 编译器与 node.js 一起使用,并且我知道使用 BOM 以 UTF-8 编码的文件存在问题。为此,此解决方法效果很好:
data = data.replace(/^\uFEFF/, ''); // Strip potential BOM
但是,在导入文件时,using@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