自动化发布:js和css文件的压缩
实现自动化的另外一个好处,便是让js/css这些传输到浏览器的文件实现压缩。【前端静态文件服务器】
一般情况下,静态文件服务器的缓存时间会做得很长(比如1年),因此在文件发布、更新、修改的方便程度上,同时考虑文件最大的效率和访问、执行速度,倘若是我们的同事在每一次的发布中都手动来进行,势必有很大的工作量是在完成这些工作上来。因此,我们使用自动化发布来实现对发布后文件的控制,来达到我们对js/css文件的压缩。
【文件流】
所有的服务使用PHP来做后端开发,SVN管理开发人员和交流代码,rsync来处理代码文件发布上线。
代码的提交阶段考虑权限管理、多人协作开发的问题,而代码的压缩则发生在发布上线阶段。
【压缩】
在这里,我们使用开源类来完成代码的压缩,其中,js的压缩我们使用:JSMin,而css的压缩我们则使用:csstidy
JSMin的使用:
[php]
require('JSMin.class.php');
//获取js代码
$js = file_get_contents('method.js');
//实现压缩
$js = JSMin::minify($js);
CSStidy使用如下:
[php]
$csstiny = new csstidy();
$csstiny->load_template('highest_compression');
$fileContent = $csstiny->print->plain();
【警惕:缓存】
前端静态文件服务器的缓存时间很长,一旦我们的代码发生变更,如果名字不变更的话,那么很容易造成用户浏览数据不一致,代码不同步造成的显示问题。在这一点上,我们使用添加后缀的方式来避开缓存。当然这会造成服务器资源浪费,因为旧版本的文件瞬间变成了垃圾文件。(这部分垃圾文件后续通过访问流量来清除)
摘自 偷蚊子的的专栏
补充:Web开发 , 其他 ,