为减少HTTP请求,我们往往需要合并和压缩多个JS和CSS文件,下面记录下网上关于实现这个功能的PHP源码以及开源项目Minify的使用方法
一、实现合并和压缩多个JS和CSS文件的代码请参考
2、PHP合并多个JS和CSS文件,减少HTTP请求(原型)
二、Minify的使用方法
1、从code.google.com/p/minify/下载最新版Minify并解压缩,将"min"文件夹连同里面的内容一起复制到DOCUMENT_ROOT目录下(即网站根目录)。
可以修改文件夹名"min"
2、设置缓存目录
//将第2项目录改为'./tmp'并把注释去掉,表示编译后的文件将缓存到"min/tmp"目录下
//$min_cachePath = 'c:\\WINDOWS\\Temp';
//$min_cachePath = '/tmp';
//$min_cachePath = preg_replace('/^\\d+;/', '', session_save_path());
注意:
需要手动建立tmp目录
3、在"min/groupsConfig.php"里配置g参数
return array(
// 'js' => array('//js/file1.js', '//js/file2.js'),
// 'css' => array('//css/file1.css', '//css/file2.css'),
);
4、在网页中按照如下方式引用就可以了:
<script type="text/javascript" src="/min/g=js&20140519"></script>
后面的数字可以用更新日期来作标志,主要是用来更新缓存文件的,"min"和步骤1里的名称对应。
5、性能优化,请参考code.google.com/p/minify/wiki/CookBook
注意:
1、需要将httpd.conf里的rewrite_module模块开启
2、开发过程中,可以将调试模式开启,开发完毕后再将调试模式关闭,可以利用火狐浏览器的firebug来查看
$min_allowDebugFlag = true
开启调试模式后,处理后的文件里会增加相关的注释,可以方便查错