为什么minification + gzip使文件大小小于gzip

时间:2014-04-24 18:39:28

标签: javascript optimization gzip minify

据我了解:
- 缩小浏览源代码并替换可用于更短变量的代码,删除空格,进行一些代码替换优化(有时)。
- gzip重复删除代码

gzip + minfication不会相互矛盾吗?按理说,在缩小之后事情将更难以重复删除。

虽然gzip + minification导致文件较小。

为什么?

2 个答案:

答案 0 :(得分:3)

允许缩小以永久更改您的代码。它可以是例如只需用变量名foobar替换变量名a,而不需要记住如何撤消缩小,它只能丢弃不需要的空格。但是,它不能减少浪费的空间,因为所有字符都使用相同的长度进行编码,或者因为在两个方法调用中使用相同的参数 - 毕竟,缩小的版本仍然需要是有效的代码。

压缩,例如使用gzip可以生成不再有效的javascript输出。因此,gzip可以例如编码具有不同长度的字符,以便花括号消耗少于8位,并且它可以压缩代码中的公共部分。但是,因为它需要能够恢复原始代码,所以它不能只是将变量重命名为更短的代码。

答案 1 :(得分:0)

那是因为保留的比较少。

缩小也将尽可能删除行尾,括号和其他冗余代码。冗余的代码不必压缩。这就是为什么它们不仅仅是两者中的一个。