効率的な JavaScript 分析および圧縮ツールを公開する JavaScript Analyser_javascript スキル

WBOY
リリース: 2016-05-16 19:07:41
オリジナル
1301 人が閲覧しました

効率的な JavaScript 分析および圧縮ツール JavaScript Analyzer を公開します
まず、JSA 構文の圧縮および最適化機能をデモンストレーションするために、スクリプト圧縮のサンプルが公開されます。

コードをコピー コードは次のとおりです: 🎜>}
zzzz( );
}

関数 f2(var1) {
var var2 = 2;
var var3 = 3; with (withObject){
} }
}




圧縮結果 (参照しやすいようにフォーマットされています):





コードをコピー


コードは次のとおりです。


zzzz();
function f2(A) {
var var2 = 2;
var C = { var2:-2};
with (C) {
アラート(var2) }
}


JSA の圧縮プロセスは 2 つのステップに分かれています

最初のステップは構文圧縮で、Dojo ShrinkSafe に似ていますが、より安全で効果的です。

2 番目のステップはテキスト圧縮です。現在、
JavaScript Compressor の圧縮アルゴリズムが使用されています。
(http://dean.edwards.name/packer/ )

これらは設定ウィンドウで設定できます。
デフォルトでは、最初に構文圧縮が使用されます。ファイルが 1000 バイトを超えていても、テキスト圧縮を使用して元のサイズの 90% に圧縮できる場合は、元のベースでテキスト圧縮が使用されます。


他の圧縮ツールとの圧縮率の比較:

1. JavaScript Compressor(http://dean.edwards.name/packer/)
独自の圧縮との比較ツール コードを例に挙げます (v2.02)。パッカー圧縮後のサイズは 7,428 バイトです (コメントは削除されています)。
そして、私たちの圧縮ツールは 7,256 バイトまで圧縮できます
7256 / 7428 = 0.9768443726440496
2. Dojo ShrinkSafe (粗雑で非効率的で危険なので、元のユーザーはすぐに置き換えることをお勧めします)
例として独自のフレームワークのソース コード (v0.4.1):
彼自身の圧縮サイズは 149,518 バイトで、圧縮後は 81,261 バイトに削減できます
81261 / 149518 = 0.5434864029748927


セキュリティに関する説明:
1. JavaScript コンプレッサー
テキストベースの圧縮。ロジックを詳しく見ていませんが、この種の圧縮で問題が発生する可能性は非常に低く、当社の圧縮ツールでも使用されています。彼の圧縮アルゴリズムは、JSI 1.1 a8 とその統合されたサードパーティ ライブラリ
のテストで異常を示さなかった。また、有名なフレームワークであるJQueryを使用しているので問題ないと思います。

補足 (2007-03-12): 今日、JavaScript の複数行の文字列構文を分析するときに、これにバグがあることを発見しました。ただし、JSA 構文圧縮後は、この問題は発生しなくなります。





2. Dojo ShrinkSafe 危険! ! ! ! !
長いローカル変数名を置き換えるには短い名前を使用します。これは非常に安全でない圧縮ツールです。例:



javascript code
function(){
var withObject = {variable1:1}
var variable1 = 2;
with(withObject){
alert(variable1)
}
}


は圧縮されますinto:
function(){
var _1={variable1:1};
with(_1){
alert(_2); 🎜>}



これは明らかに間違っています。このゴミは、JavaScript の特殊な構文やダイナミクスに注意を払っていません。
eval 関数、catch オペレーション、with ステートメントでは処理は行われません。

それに比べて、JSA は私が知る限り最も安全で効果的な圧縮ツールです。
JSA はコード圧縮機能を提供するだけでなく、フォーマットやスクリプト分析も行うことができます。


スクリプト分析機能を使用すると、スクリプト情報を表示し、スクリプト内の潜在的な問題を見つけることができます。
たとえば、スクリプト内で宣言されている関数と変数を確認します。
これらの外部変数が使用されます。等。 。


ダウンロード アドレス:

http://sourceforge.net/project/showfiles.php?group_id=175776

または http: //forum.xidea.org
ファイルリスト
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート