我正在制作一个AIR应用程序(因此下载时间没有太大的影响),组合和minifing所有的javascript文件是否会影响性能?混淆会如何影响性能.
Gab*_*ley 65
通过减少加载时间(即使只是略微),Minifying可以提高整个页面的性能.
对于绝大多数javascript代码而言,缩小或混淆都不会以任何可感知的数量改变执行时间.
我建议缩小这些原因以及更多原因.一起缩小多个脚本(比如jQuery和它的插件)可以节省更多.
编辑: 正如所指出的,在受限设备上和/或使用非常大的代码库进行缩小可能会产生明显的结果.
adi*_*tya 21
缩小确实可以提高性能,原因有两个:
缩小文件大小(因为它删除了注释和不必要的空格),因此您的脚本加载速度更快.即使它嵌入了<head>.
它的解析速度更快,因为注释和空格不必明确忽略(因为它们不在那里).
我写过很多HTML/JS AIR应用程序,根据个人经验,组合文件不会产生任何影响.事实上,基于某些标准(类,全局函数,SQL函数等)分离脚本是一种很好的做法.当项目变得太大时,帮助他们保持井井有条.
混淆通常是缩小和重命名变量的组合.它涉及使用eval再次炸毁代码.由于显而易见的原因,这会降低性能,但这取决于代码的大小.
我建议运行测试,以便根据您的具体情况了解这一点.
[编辑包括对AIR应用程序的特殊考虑]
这里的每个人都谈到了缩小,但没有人谈论你的问题的第二部分 - 结合.这肯定会提高性能,甚至可能超过缩小.
多个文件需要多个HTTP请求,因此当您将它们全部放入一个文件时,只需要1个请求.这有两个重要原因:
此外,除了缩小和组合之外,您还必须确保启用某种服务器端压缩.这可以节省90%甚至更多的传输字节数,具体取决于文件.
你可以在这里阅读更多关于压缩(gzip,deflate)的内容:http://beerpla.net/2009/06/09/how-to-make-your-site-lightning-fast-by-compressing-deflategzip-your-html -javascript-css-xml-etc-in-apache /.