Merpressor——自动合并压缩与无缝调试

这个是在第19期WEB标准交流会上的分享PPT,分享的内容很简单,主要是大家讨论,都很诚恳地提出了各种想法和意见。在前端这一块,平常的交流太多都在于各种技术交流,而太少关注调试、测试和发布环境。

大的互联网公司可能都有各自的调试、测试和发布流程,但是在这方面的资料实在是不多。Bobby(曾在yahoo台湾,现在盛大创新院) 讲到yahoo内部其实也有这么一套,我的和他们的很类似,遗憾的是内部使用的,也无迹可寻。Hax(盛大创新院)也提到一些想法,比如自动解决依赖关系,部分更新等,都是不错的想法。


Merpressor —— 在线自动合并、压缩JS文件

最近工作稍微空了点,正好又有幸见到了盛大的在线合并工具,于是一时兴起,把YUI Compressor改造了一下,写了个在线合并JS和CSS的工具,命名为Merpressor,目前已经在工作中使用了。

Mepressor分为两个部分:一部分为公网发布时所用,使用Java编写;另一部分为本地调试时所用,使用轻量和方便的PHP编写。(似乎很绕,简单地讲:Java版本用来公网部署,合并同时压缩代码;PHP版用来本地测试,并不压缩内容。)

在项目中需要合并多个js文件或者css文件时,前端开发者只需修改一个xml格式的配置文件,指定需要合并的文件,通过一定的规则访问,服务器则可自动合并多个js文件,并使用YUI Compressor压缩后返回相应内容,而本地环境下,则会自动导入xml中指定的多个js文件或者css文件,从而使得开发调试和发布一体化,真正做到无缝切换。

注意: 由于合并和压缩需要花费较大的资源和时间,因此在响应速度和并发上会表现较差,在实际使用过程中,需要配合CDN(内容分发网络,一般中大型网站都会采用)使用。当然,你也可以只是把这个工具当合并压缩工具使用。…