私はWindowsOSで何百ものJavascriptファイルを細かく切り刻んでいて、それらのほぼ半分で問題が発生しました。minfiyingコンプレッサーは、ドットで囲まれた関数を持つjsファイルを適切に縮小できないことがわかりました。YUIコンプレッサーの場合、このような状況が発生するとファイルの内容が削除され、Ajaxminifierの場合は、ドットが無視され、その前に関数名が付けられます。
問題の関数の例:
function window.onload() {}
Error Message: :missing ( before function parameters
YUIコンプレッサーをMSBuildタスクとコマンドラインとして使用すると、どちらも同じ結果が得られます。
コマンドラインの例:
java -jar yuicompressor.jar --type js --charset utf-8 -o D:\foo.js D:\foo-min.js
Ajaxミニファイアの例を使用すると:
コマンドライン:
AjaxMin.exe -o D:\foo.js D:\foo-min.js
ただし、1つの解決策は関数を書き直すことであり、縮小プロセスはうまく機能します。例:
window.onload = function() {}
しかし、今のところ、これは私たちの選択肢ではありません。誰かがこの問題について知っていて、解決策を提供することができますか?
ありがとう。はい、私はこれらのファイルを継承しましたが、なぜこのように書かれたのかはまだわかりません。適切なJSに変換するプロセッサがあるとは思いません。WebアプリはIEでのみ実行されることを知っています。これが、これが機能している理由である可能性があります。Firefoxなどではそうではないかもしれません。これを変更したいと思っています。