効率的なJavaScript分析、圧縮ツールJavaScript Analyserを発表します。
2669 ワード
効率的なJavaScript分析、圧縮ツールを発表します。 JavaScript Analyserはまず脚本の圧縮例を送って、JSA文法の圧縮と最適化機能を展示します。
try {
//xxxx();
}
catch (e) {
yyyy();
function f1() {
}
}
finally {
zzzz();
}
function f2(var1) {
var var2 = 2;
var var3 = 3;
var withObject = {var2:-2}
with(withObject){
alert(var2);
}
}
圧縮結果(フォーマットされていて、閲覧しやすい):
zzzz();
function f2(A) {
var var2 = 2;
var B = 3;
var C = {var2:-2};
with (C) {
alert(var2);
}
}
JSAの圧縮プロセスは二段階に分かれています。 第一歩は文法圧縮で、Dojoに似ています。 Shrink Safeは彼より安全で効果的です。二番目のステップはテキスト圧縮です。現在はJavaScriptを採用しています。 Coprestorの圧縮アルゴリズム(http://dean.edwards.name/packer/ ) これらは設定ウィンドウで設定できます。デフォルトの場合はまず文法で圧縮します。ファイルが1000 byte以上で、しかもテキスト圧縮を採用しても元の大きさの90%まで圧縮できます。他の圧縮ツールとの圧縮率比較: 1. JavaScript Commprestor(http:// dean.edwards.name/packer/) 彼自身の圧縮ツールコードとの例(v 2.02) パッカー圧縮後のサイズは 7,428 バイト(コメントを除く)。 私たちの圧縮ツールは7,256まで圧縮できます。 バイト 7256 / 7428 = 0.9768443726440496 2.Dojo Shrink Safe (粗いものは、効率がよくて危険です。元のユーザーに早く交換してほしいです。 彼自身とのフレームソースコードを例に挙げます。 彼自身の圧縮サイズは149,518です。 バイトを圧縮して81,261に縮小できます。 バイト 81261 / 149518 = 0.53486464029748927 安全性説明:1.JavaScript Copress or テキストの圧縮に基づいて、ロジックを詳しく見ていませんでしたが、このような圧縮は問題を起こす可能性が低いです。私達の圧縮ツールも彼の圧縮アルゴリズムに使いました。JSIでは 1.1 a 8 および 統合された第三者クラスの試験では、異常は見られませんでした。また、有名なフレームJQueryがありますので、大丈夫です。 補足(2007-03-12):今日発見しました。これはJavaScriptの複数行の文字列文法を分析する時、バグがあります。でも、この問題はJSA文法の圧縮を経てからは、もうなくなります。2.Dojo Shrink Safe 危ない!!! 短い名前で長い局部変数名を置換します。これは極めて危険な圧縮ツールです。例を挙げて説明します。 javascript コードfunction(){ var withObject = {variable 1:1} var variable 1 = 2. with(withObject){ alert(variable 1) } } 圧縮します : function(){ var _1={variable 1:1} var _2=2 with1){ alert2) } } これは明らかに間違っています。このゴミはJAvascriptの特殊な文法とダイナミック性に注意していません。 eval関数、catch操作、with文に対しては、何の処理もしていません。 JSAと比べると、現在私が知っている最も安全で効果的な圧縮ツールです。 JSA コード圧縮機能だけでなく、フォーマット、スクリプト分析も可能です。 スクリプト解析機能は、スクリプト情報を表示し、スクリプト内の潜在的な問題を検索するために使用できます。 例えばスクリプトを見て、その関数、変数を説明します。 それらの外部変数が使用されています。ちょっと待ってください。 ダウンロードアドレス:http://sourceforge.net/project/showfiles.php?group_id=175776またはhttp://forum.xidea.org ファイルリスト