代码之家  ›  专栏  ›  技术社区  ›  Guy

如果打开了压缩功能,JavaScript缩小有什么意义吗?

  •  18
  • Guy  · 技术社区  · 14 年前

    如果您的网站启用了deflate/zip压缩,那么JavaScript缩小有什么意义吗?

    我的理论是压缩的缩小的JavaScript文件和压缩的未统一的JavaScript文件之间的差别可以忽略不计。

    很少有浏览器不支持压缩。我可以想象一些机器人(spider)可能不支持压缩(我知道至少有一个),但他们不太可能对你的JavaScript“感兴趣”,因为他们不太可能执行JS,所以不应该下载它。

    8 回复  |  直到 14 年前
        1
  •  29
  •   Thomas    14 年前

    让我们测试一下。我使用jquery1.4.2和gzip(没有标志; -9

    • 开发:163855字节
    • 开发,压缩:
    • 缩小:72174字节

    因此,在这种特殊情况下,缩小使文件几乎小了一倍。诚然,开发版本充满了评论。我们把这些去掉,看看会发生什么:

    • 剥离、压缩: 32914字节

        2
  •  2
  •   JAL    14 年前

    在gzip之前将文件缩小,这将对服务器性能产生轻微的影响,尽管我怀疑这会增加很多。缩小将删除注释,gzip/deflate不会,但除此之外,我认为您是正确的。

        3
  •  2
  •   Guffa    14 年前

    我尝试将jquery-1.3.2压缩为原始版本和精简版本:

    jquery-1.3.2.js      118 kb  ->  36 kb
    jquery-1.3.2.min.js   56 kb  ->  20 kb
    

    所以,压缩前缩小确实有很大的不同。

        4
  •  1
  •   the Hampster    14 年前

    我相信缩小版会跑得更快。变量现在有1-2个glyph长,所以解析更快,空格和注释不是问题。当然,您需要设计一个测试,以便能够 告诉 任何区别。

    压缩对于移动平台有好处也有坏处。是的,它的下载速度要快一点,但解压缩确实会消耗电池寿命。

    --戴夫

        5
  •  0
  •   Ashit Vora    14 年前

    每个字节都计数。你省的越多越好。

        6
  •  0
  •   Bruno    14 年前

    this ).

    它可以将72174字节(jquery-1.4.2.min.js)转换为50640字节。但是,与直接gzip压缩缩小的文件(24K)相比,gzip进一步压缩并不能提高压缩效果。

    (如果使用压缩器/打包器,可能还需要保留许可证标头,在本例中约为400字节)。

        7
  •  0
  •   David Hoerster    14 年前

    看看雅虎的开发者网站- http://developer.yahoo.com/performance/rules.html -对于为什么缩小和压缩是好的一些解释。还有,看看史蒂夫·苏德斯的作品( High Performance Web Sites

    我会避免混淆,除非你真的想从脚本中挤出尽可能多的内容。混淆可能会导致错误,这取决于JavaScript的编写方式。你最好是缩小和得到80-90%的方式有。

    祝你好运!

        8
  •  0
  •   loneboat    14 年前

    请记住,缩小实际上 信息。空白/注释/冗长的变量名等。。。是 完全地

    另一方面,服务器压缩需要无损,因此不能丢弃任何信息。它只能 压缩 是的。

    因此,服务器压缩(理论上)无法达到minificaiton(理论上)可以达到的压缩级别。

    Remember, though that while theory and practice are theoretically the same, in practice they never are