我正在为我的网站应用程序进行速度优化并发现了一些实践方法。例如,来自Yahoo的加速您的网站的最佳实践。
- 压缩JavaScript和CSS。
- 通过将多个文件(css、js)组合成一个文件来最小化HTTP请求的数量。
我的问题是,您使用或可以推荐使用什么基础架构、工具和构建过程来执行这些操作?
我正在为我的网站应用程序进行速度优化并发现了一些实践方法。例如,来自Yahoo的加速您的网站的最佳实践。
我的问题是,您使用或可以推荐使用什么基础架构、工具和构建过程来执行这些操作?
它可以压缩JavaScript和CSS。只需为所有文件运行它,然后将它们连接成一个“包”文件。你可以手动进行操作,编写Makefile或使用一些脚本来在Web请求“即时”压缩,尽管你可能想缓存结果文件。
我为此编写了自己的定制管理器。它使用谷歌的闭包编译器,在发布模式下仅在需要时压缩文件。看看这个:
谢谢
Guido Tapia
或者你可以直接配置你的HTTP服务器来对所有文本文件进行GZIP压缩。
我做ASP.NET,所以我使用CruiseControl.NET和NAnt进行构建过程。这个构建过程的一部分是使用YUICompressor进行压缩,根据我的经验,它是最好的压缩工具。
如果你不做ASP.NET,仍然可以使用原始的CruiseControl和Ant来完成同样的任务。
我认为这是一个优秀的设置的原因是:a)所有繁琐的事情都被自动化了;b)如果你在自己的机器上测试,你不必调试一个超长的JS字符串:)
我已经将缩小过程集成到我的部署流程中。我使用 JavaScript::Minifier 和 CSS::Minifier 包在 perl 中实现。
在开发过程中,我希望保持脚本的扩展性。我在 HTML 中放置了一些注释,以便我的脚本知道要合并和缩小哪些文件:
<!--- MinifyJS[js/minified-1.js] -->
<script src="..."></script>
<script src="..."></script>
<!-- end[js/minified-1.js] -->
<!--- MinifyCSS[css/minified-1.css] -->
<link ...>
我自己是Dean Edwards /packer/的忠实粉丝 - 有多种不同的版本可供选择。
为了在上传到网络之前压缩所有内容,这个程序对于CSS/JS/HTML都非常好:
甚至可以选择不压缩的区域,因为并非所有标记中的MVC代码都支持压缩。
每次压缩文件时,它都会保存备份文件,因此您只需单击即可轻松解压缩。