Javascript を使用する Web サイトがあります。私の自宅のテスト環境では、Javascript はさまざまなファイルに含まれています。ファイルをライブ サイトにアップロードするときは、Bash スクリプトを使用してファイルを結合および圧縮し、サイト全体の効率を高めています。
まず、次を使用して Javascript ファイルを結合しますcat
。
cat list_of_javascript_files_to_combine.txt | xargs cat > combined_javascript_file.js
次に、YUI Compressor を使用して、結果の Javascript を圧縮します。
java -jar yuicompressor-2.4.7.jar combined_javascript_file.js -o combined_javascript_file.js --charset utf-8
私のローカル テスト環境では、Javascript を結合して圧縮する前に、エラーをまったく報告せずに動作します。
ただし、アップロード後、Firebug でコンソールを見ると、次のエラーが表示されます。
SyntaxError: JSON.parse: unexpected character
...|0)}}this._yuifacade=true;this._event=z;this.pageX=t;this.pageY=w;x=z.keyCode||z...
問題は、JavaScript が圧縮されているため、すべてが 1 つの長い行に表示され、圧縮前のファイルのどこにエラーがあるかを判断することがほとんど不可能になることです。また、Firebug が表示しているコードのスニペットが、実際にエラーが発生している場所であるかどうかも定かではありません。もちろん、表示された文字列の一部を検索しましたが、間違っているようには見えません。また、デバッグに使用する Netbeans は、そのコードの場所に関する警告を報告しません。
このエラーは Javascript を圧縮した後にのみ表示されるように見えるため、圧縮自体に問題があると思われます。ただし、結果として得られる圧縮ファイルは、設計上、私のような人間が解析するのが非常に難しく、デバッグが私の能力を少し超えています。
問題を解決できるように、問題を絞り込む方法はありますか?