在不出现性能缺陷的情况下打包JavaScript代码的最佳方法是什么?

时间:2008-09-22 13:27:26

标签: javascript iphone compression

我正在寻找一种为iPhone压缩JavaScript代码的方法。有没有办法避免在小而慢的设备上使用大量的CPU时间?

8 个答案:

答案 0 :(得分:9)

答案 1 :(得分:5)

使用JSMin并避免使用packer,这实际上更耗费CPU并且更慢“放气”

答案 2 :(得分:3)

我爱ShrinkSafe。它解释你在Rhino中的代码,然后它返回压缩代码。因为它在真正的解释代码上运行(而不是复杂的字符串评估),所以它永远不会破坏代码或找不到公共变量和私有变量之间的差异。

这是一种优质的工具。

答案 3 :(得分:3)

我们在自动构建过程中使用js_compactorJavaScriptLint来“编译”并压缩我们的JavaScript。进一步的构建步骤将采用压缩JavaScript并将相关文件组合到单个包中。性能提升非常显着,但请注意,您无需进行调试。

当存在多个文件时,减少传输到客户端的文件数量可以大大提高性能。通常,浏览器一次只能打开到单个服务器的2个连接,因此即使您正在传输压缩和最小化文件,浏览器也会花费大量的开销来检查其缓存。 yslow帮助我们identify为什么网页需要花费很长时间来加载并帮助我们集中优化工作。我们使用raw files或最小化和compressed versions

来检测我们的环境

答案 4 :(得分:1)

我相信iPhone上的Safari支持gzip输出,所以你可以使用像mod_deflate这样的东西。使用这种方法我得到了最好的结果。相当多的JavaScript压缩东西都是绝对垃圾,解压缩的时间比下载更大的文件要长。不过,JSMin看起来还不错。

答案 5 :(得分:1)

您可以在The JavaScript CompressorRater尝试不同的工具。除了打包器之外的所有工具都没有影响javascript的执行速度,据我所知 - 它们只删除空格,重命名变量等。

我自己认为YUI Compressor是最好的。

首先验证JSLint中的代码以确保压缩器正确理解它是非常有用的。

答案 6 :(得分:0)

确保您的网络服务器在客户端支持时正确地提供gzip / deflated的内容通常比缩小程序代码本身更有效。当然,使用两者往往会产生更小的尺寸。

答案 7 :(得分:0)

过去几天我刚刚经历了这个小小的舞蹈。我们尝试使用Packer,但发现我们打包的JavaScript执行时间超过2秒(更不用说阻止其他下载)。根据{{​​3}},我们已切换到this article。我们的gzip压缩文件不仅更小,执行时间也不到300毫秒。