我刚找到迪安·爱德华兹的javascript:http://dean.edwards.name/packer/
它有几个选择,
为了测试它,我使用了已经缩小到56 To的最新版本的jquery,并使用收缩变量在上面的页面上运行它,结果是相同大小的文件,56 to。
然后,我使用选中的Base62编码和收缩变量再次运行原始文件,结果是一个42 was文件。
现在我不太了解缩小和包装其他,然后它使文件大小更小。但是我很好奇Base62编码在做什么,使用它不好吗?我看到它使文件更小,但是它是否会在稍后创建更多的工作/加载来解码页面上的文件呢?
发布于 2009-08-29 14:53:58
基础62不过是一个位置符号。也就是说,它可以用一个非常短的版本来表示非常长的普通文本。
在js被客户端使用之前,使用Base62会增加一个额外的步骤。对于jQuery类型的库,这一步可能需要100到500 on的额外时间,这取决于许多因素。
现在,我们可以将下载脚本的时间减少与执行脚本所需的额外时间进行比较。它可能会减少下载时间50毫秒,但需要额外100毫秒来处理它。收益递减!!
发布于 2009-08-29 14:29:31
它确实为客户端创造了更多的工作。客户端必须运行代码来解码编码的脚本。如果您只在编码块中输入一点点代码,这是非常明显的。
例如:
var a = 10;编码为:
eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0 1=2;',3,3,'var|a|10'.split('|'),0,{}))https://stackoverflow.com/questions/1351548
复制相似问题