最近在做一个项目,需求大概是将公司每个应用的js/css统一管理,更新和发布到cdn上。本文只分享在对js/css进行压缩处理时遇到的经验和问题,其他内容不多做介绍。
首先,因为每个应用的css/js都在svn库中保存,需要将其“checkout”到本地或者db中。然后使用者根据需要再选择相关文件发布。发布过程大概是生成本地文件,然后使用一些优秀的×nix工具将其同步到cdn上面。本文需要关注的是用户点击发布,生成发布文件的过程,因为我们的YUI compress 操作在这里进行。
其次,介绍一下YUI的使用。因为工程的依赖是maven控制管理的,所以需要添加依赖:当然你也可以直接去下载对应的jar包添加到你的path目录中使用。
做前端开发的同学会比较清楚,yuicompressor主要是供他们命令行形式对js/css文件进行压缩的,这样出现问题的可能性也非常之少---待会我们会告诉你为什么会有如此一说。
下载完jar包后,你会看到一个YUICompressor类,只有一个main方法供java命令行使用,这个api必须放弃了。另外,你还会发现JavaScriptCompressor和CssCompressor类,他们才是我们真正需要使用的接口。
先看一下使用方法吧:
CssCOmpressor: