1

JS ファイルを圧縮するツールを探しています。

私が望んでいるのは、不要な文字を単純に削除することではありません。私は、関数内のローカル変数の長さも短縮できるツールを好む。

さらに良いことに、このツールは、グローバル変数、関数名など、他のすべてのものの長さを短縮できます。これは、Web ビューアが同意なしにコードを使用するのを防ぐためです。

たとえば、ツールは変数または関数の名前を「some_variable」、「some_function」から「sv」、「sf」などに変更する必要があります。その後、関連するすべての参照をリファクタリングします。

ネットで調べてみましたが、似たようなものは見つかりませんでした。

4

3 に答える 3

2

これがあなたを助けることができると思います:http://www.minifyjavascript.com/

過去に使用しましたが、良い仕事をしています!

于 2012-05-03T10:48:33.930 に答える
1

YUI Compressor を試す:

http://developer.yahoo.com/yui/compressor/

私にとっては、現時点で最も強力なものの1つです。

于 2012-05-03T10:48:40.910 に答える
1

Google Closure Compilerがこれを行います。さまざまな設定がありますが、「単純な最適化」設定でさえ、変数名と (関数がスクリプトの外部で呼び出されないことがわかっている場合) 関数名を短縮します。節約できる場合は、関数をインライン化することもできます。

たとえば、次のスクリプトがあるとします。

jQuery(function($) {
    var allDivsOnThePage = $("div"),
        someParagraphsAsWell = $("p");

    setColor(allDivsOnThePage, "blue");
    setColor(someParagraphsAsWell, "green");

    function setColor(elms, color) {
        return elms.css("color", color);
    }
});

単純な最適化でクロージャ コンパイラを使用すると (jQuery を使用していることを伝えると)、次の結果が得られます。

jQuery(function(a){var b=a("div"),a=a("p");b.css("color","blue");a.css("color","green")});

識別子を短縮しただけでなく、可能な場合は再利用し (この場合は何も節約できませんでしたが、他の場合は節約できました)、setColor関数をインライン化したため節約できました。

于 2012-05-03T10:48:42.940 に答える