2011-09-09 7 views
2

私はYUI Compressorを使用してJavascriptファイルを縮小しています。しかし、これらのJavascriptファイルには、YUI Compressorを無視する必要があるカスタムコンテンツ(埋め込みJSPタグ)が含まれています。私はhtmlcompressorの "カスタム保存ルール"に似たものを探しています。YUIコンプレッサーでカスタムブロックを保持

これはYUIコンプレッサーで行うことができますか?そうでない場合は、誰かに代替案を提案できますか? YUI compressor docsから

答えて

2

JSPを使用してjavascriptを生成している場合は、JSPスクリプトの出力を以前よりも圧縮します。

できない場合は、静的なjavascriptを分割し、動的javascriptを個別に配信する必要があります。

+0

良い提案、ありがとう。しかしながら、第1のアプローチは実行可能ではない。 2番目のアプローチは当然のことながら機能しますが、大きな改訂が必要です。 – Grodriguez

+0

大規模なjavascriptファイルを動的に生成し圧縮する必要があると思われる場合は、間違ったことをしている可能性があります。回避策を探している場合は、JSPタグの代わりにいくつかのプレースホルダを置き、圧縮後に置き換えてください。あなたは、あなたのプレースホルダーが何であっても確実にしなければなりません。また、最終的な出力で終わります。例えば、文字列のようなものかもしれません。 – Evert

+0

実際にjavascriptを動的に生成しているわけではありませんが、私のユースケースはちょっと複雑で、本当に価値がありません。しかし、プレースホルダのアイデアは面白いです。 – Grodriguez

4

、あなたは、この使用して「ヒント」を行うことができるかもしれない:

+ It is possible to prevent a local variable, nested function or function 
argument from being obfuscated by using "hints". A hint is a string that 
is located at the very beginning of a function body like so: 

function fn (arg1, arg2, arg3) { 
    "arg2:nomunge, localVar:nomunge, nestedFn:nomunge"; 

    ... 
    var localVar; 
    ... 

    function nestedFn() { 
     .... 
    } 

    ... 
} 

あなたのケースでは、ネストされた機能を追加し、その機能のための「nomunge」のヒントを使用することができます。

+0

良いアイデアは、これについて考えていない。残念ながら、それは動作しません。実際の問題は、YUI CompressorがJavascriptファイルを解析しようとしており、コードが構文的に正しくない(埋め込みJSPタグのために)エラーが発生することです。私が必要とするのは、YUIに構文解析中にJSPタグを無視するように指示する方法です。 – Grodriguez

+0

これらの面倒な部分を別のJSに抽出して圧縮できませんでしたか?それはあなたのプロセスをあまり変えないと私が考えることができる最も簡単な解決策になります。 – jonjbar

+0

それは1つの解決策ですが、コードベースの大きな書き換えが必要です。 – Grodriguez

関連する問題