私は node.js で less コンパイラを使用していますが、BOM 付きの UTF-8 でエンコードされたファイルに問題があることを知っています。このため、この回避策はうまく機能します。
data = data.replace(/^\uFEFF/, ''); // Strip potential BOM
ただし、ファイルをインポートするときに@import
ステートメントを使用すると、最初の行で構文エラーが発生します。これも回避する方法はありますか?
私は 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
( awk を使用してバイトオーダーマークを削除するから取得)