【问题标题】:Ways to compress/minify javascript files [duplicate]压缩/缩小javascript文件的方法[重复]
【发布时间】:2010-10-27 08:37:26
【问题描述】:

复制:


到目前为止,我已经看到了这些压缩 javascript 文件的工具

在 Packer 页面上有一个“Packer 与 JSMin”部分,它说 JSMin 可以比 Packer 更有效。在 Yahoo Compressor 页面上,它指出 Yahoo 压缩器比 JSMin 更高效,因此看起来 Yahoo 压缩器可能是最佳候选者。

压缩 javascript 文件的最佳选择是什么?

【问题讨论】:

  • 为什么不对你的 javascript 文件进行一些测试并找出答案?

标签: javascript compression minify jscompress


【解决方案1】:

Yahoo 的压缩器,兼具安全性和良好的压缩性能。

它使用真正的 JavaScript 解析器,而不是使用一组正则表达式。它能够进行与 Packer 相同的变量重命名,但更安全。如果您忘记在函数定义的末尾添加分号,它也不会中断。

Packer 确实具有生成更小的文件的编码功能。但是,它仅在您的 Web 服务器不支持 gzip 或 deflate 压缩时才有效。使用 gzip / deflate,YUI 和 Packer 生成大小大致相同的文件。

【讨论】:

    【解决方案2】:

    我只使用 YUICompressor 是因为它智能地减少了删除空格并减少了内部变量,同时正确地维护了外部引用,并且还没有破坏我的代码,它还可以通过 CSS 来启动!

    之后,我们通过 GZip HTTP 连接提供服务,瞧!

    【讨论】:

      【解决方案3】:

      将服务器设置更改为使用 gzip 压缩,然后您可以对任何文本文件、javascript、html 等进行压缩。您也不会在每次加载页面时遇到使用压缩 javascript 获得的解压缩延迟。

      【讨论】:

      • 大声笑@没有得到压缩文件的解压延迟。 GZip 是压缩的,客户端必须解压缩才能使用它。缩小的 javascript 没有被压缩,只是尽可能减少了它的占用空间。
      • 好吧,如果你只是在做缩小版(对不起,我看错了),那么你只会损害 javascript 的可读性,我可以接受或放弃。 Gzip 压缩仍然是执行此操作的最佳方式,因为它可以应用于大量文件,并且客户端解压缩不再是问题,因为它使用低级语言而不是 javascript - 并且仅在下载时发生,而不是在页面加载时。
      • Gzip 压缩并不是最好的方法。 Gzip + 缩小是最好的方法。客户端解压仍然发生。下载页面是加载页面的一部分,毕竟不先下载就无法查看页面。
      • 缩小仍然会影响代码的可读性,因此是否最好取决于您是否愿意。下载与页面加载是一个很大的区别。下载只发生一次——通常——页面加载发生在每个页面上。一个 javascript 文件可能位于多个页面上。每个页面加载都会导致该 javascript 文件在 javascript 中解压缩。但是,从 http 下载解压缩只会发生一次。即使它只出现在一个页面上,重新访问这个页面——无论是通过后退按钮还是重新单击——都不会再次导致 http 解压缩,只有 javascript。
      • 另外,在我看来,最重要的一点是 gzip 压缩会影响所有内容,而不仅仅是 javascript。最后,每次进行更改(或设置发布时为您执行此操作的流程)时,您都必须记住要进行缩小。而 gzip 压缩是一劳永逸的。但是正如您所说,两者都会为您提供尽可能小的文件,但我通常只能从 gzip 的缩小中发现大约 10%-20% 的收益。因此,我不会因为失去可读性和在发布时手动执行它而烦恼。
      猜你喜欢
      • 2012-01-29
      • 2019-02-24
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多