压缩/缩小javascript文件的方法[重复]
Posted
技术标签:
【中文标题】压缩/缩小javascript文件的方法[重复]【英文标题】:Ways to compress/minify javascript files [duplicate] 【发布时间】:2010-10-27 08:37:26 【问题描述】:复制:
Best javascript compressor Which javascript minification library produces better results? What is the best method to reduce the size of my Javascript and CSS files?
到目前为止,我已经看到了这些压缩 javascript 文件的工具
Packer JSMin Yahoo Compressor在 Packer 页面上有一个“Packer 与 JSMin”部分,它说 JSMin 可以比 Packer 更有效。在 Yahoo Compressor 页面上,它指出 Yahoo 压缩器比 JSMin 更高效,因此看起来 Yahoo 压缩器可能是最佳候选者。
压缩 javascript 文件的最佳选择是什么?
【问题讨论】:
为什么不对你的 javascript 文件进行一些测试并找出答案? 【参考方案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% 的收益。因此,我不会因为失去可读性和在发布时手动执行它而烦恼。以上是关于压缩/缩小javascript文件的方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章