我正在寻找一种为iPhone压缩JavaScript代码的方法。有没有办法避免在小而慢的设备上使用大量的CPU时间?
答案 0 :(得分:9)
答案 1 :(得分:5)
答案 2 :(得分:3)
我爱ShrinkSafe。它解释你在Rhino中的代码,然后它返回压缩代码。因为它在真正的解释代码上运行(而不是复杂的字符串评估),所以它永远不会破坏代码或找不到公共变量和私有变量之间的差异。
这是一种优质的工具。
答案 3 :(得分:3)
我们在自动构建过程中使用js_compactor和JavaScriptLint来“编译”并压缩我们的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毫秒。