yuicompressor を実行しようとするとエラーが発生します。
それは言います:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
これは、間違ったエンコーディングなどで保存しているためでしょうか?
yuicompressor を実行しようとするとエラーが発生します。
それは言います:
[error] 1:2:illegal character
[error] 1:2:syntax error
[error] 1:3 illegal character
これは、間違ったエンコーディングなどで保存しているためでしょうか?
YUICompressor と、バイト オーダー マーク (BOM) を使用して UTF-8 で保存されたファイルに問題があることを確認しました。Visual Studio 2008 のデフォルトは、この方法で保存するようです。それを解決するには、別のエンコーディングでファイルを保存する必要がありました。VS2008 では、これはFile - Advanced Save Options - Encoding : Unicode (UTF-8 without signature)でした。
「署名エンコードなしの UTF-8」で保存することに加えて、Windows スタイルの行末 (CR LF) に切り替える必要がありました。
YuiCompressor の .NET バージョンを使用したエンコードで同じ問題が発生しました。
EncodingType="UTF8"
構成ファイルに追加するのを修正しました:
<CssCompressorTask EncodingType="UTF8" SourceFiles="@(CssFiles)" OutputFile="path\styles.min.css" />
<JavaScriptCompressorTask EncodingType="UTF8" SourceFiles="@(JavaScriptFiles)" OutputFile="path\scripts.min.js" />
その他のエンコード オプションについては、docsを参照してください。
Visual Studio 2008 で .js ファイルを表示しているときに... ファイル -> 詳細保存オプション -> Unicode (署名なしの UTF-8)。
誰かが Powershell を使用してファイルを連結している場合に備えて、次の Powershell スクリプトを使用してこの問題を回避しました。
Get-Content `
JavaScript/file01.js,`
JavaScript/file02.js,`
JavaScript/file03.js `
| Set-Content JavaScript/Concat.js -Encoding Ascii
java.exe -jar ../../yuicompressor/build/yuicompressor-2.4.2.jar JavaScript/Concat.js -o JavaScript/Concat.min.js preserve-semi --charset ascii --type js
連結と YUICompressor 呼び出しの両方での ascii エンコーディング パラメータに注目してください。