JavaScript 和 CSS 文件合并的工具

3

我最近开始处理一个代码库,每个页面有15-20个js请求。我的任务是优化和提高这些网站的性能。

我一直在使用工具,如Google的PageSpeed、Yahoo的YSlow和WebPageTest.org的测试来确定网站的基准速度和改进方向。我很好奇是否有一些标准或最佳实践解决JS和CSS文件的串联和最小化问题。

我看了这个视频:http://www.youtube.com/watch?v=30_AIEhar-I,前20分钟非常好地介绍了mod_pagespeed是一个很好的目标。

我正在考虑使用带有YUI压缩器和精灵生成器的mod_pagespeed。

有哪些好的工具可能被我忽视了或者我应该关注当前版本中的问题?

编辑:需要注意的是,这只是许多页面之一(可能有数百个),并且该网站每两周接收一个新的构建,因此自动化串联和最小化对于我来说是必须的,我不能只做一次就算了。

编辑于7/30/2012 - 我花了一些时间研究不同的工具,很难说哪些是最好的,但目前为止,没有多少人使用mod_page speed。

对于某些情况,Closure被更广泛地使用,但即使如此还是有所欠缺。似乎最佳的方法就是使用带有YUI插件的方法。

还有其他地方建议使用Packer,但许多人认为需要在客户端机器上解压缩导致了更小的文件大小被消除了,这个stackoverflow响应是关于这些工具类型的好读物。



你为什么说闭包缺乏呢? - Dagg Nabbit
1个回答

2
Google的Closure Compiler非常适合用于JavaScript的连接和缩小。它的额外好处是,当您编译时,它会为您进行代码linting,删除死代码,并且如果您在docblocks中包含类型提示,它还可以执行编译时类型检查。 在某些情况下,死代码删除功能使Closure在其他缩小器方面具有巨大优势……例如,请考虑包括库的情况,但只使用约10%的功能。如果您将库与项目的其余部分一起压缩,则可以删除其他90%。
至于CSS,如果您想要高级内容,则YUI Compressor可能是最好的选择。否则,您可以使用“cat”将文件串联在一起,并从空格中获取一些额外字节。

我选择YUI的部分原因是它的文档非常好,而且非常强大。有没有一种自动化闭包编译器的方法?我开始查看网站上的一个页面,但不幸的是,数百个被归属的页面都需要像这样剥离,所以自动化是必须的。 - J V
Closure是一个Java可执行文件(jar),可以在命令行上运行,因此自动化只需要从构建脚本或类似的地方调用它即可。他们的在线文档非常好,正如你所期望的来自Google。看一下“高级优化”功能;那里有趣的事情发生了。 - Dagg Nabbit
有趣,我会再深入研究一下。谢谢你的指引! - J V

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接