打造前端自动化编译环境(思路)

面对较大型的网站开发,前端也会涉及到多人开发,而多人并行开发的条件是公共组件与业务模块化,一般的做法是,大家一起讨论,抽象出一些组件和业务模块,定义好相应接

口,再分配不同的人来开发,开发的时候同在一个svn 和写相应的静态html测试开发效果。完全Ok了则提给后端php做相应模板。

可能大家在开发过程中彼此协作问题不大, 但临近着测试与上线,问题就出来了,每个页面都有一大堆js和css ,上线后肯定不允许这样,那怎么可以方便的合并,之前的js,css都没

有经过yui压缩,之前调用后端接口都是测试地址,但上线后肯定需要换成正式地址,怎么换比较方便, 当时在需求还没定时是没有css -spirte的,但上线后肯定需要css-spirte

的,还有其他的很多问题。

其实以上问题就是开发人员的方便开发与用户的体验之间的矛盾,我们需要想办法平衡这种矛盾,即怎么样可以让开发人员在开发时能模块式开发,不用去关注合并,压缩,图片压

缩,图片合并这些重复劳动,并且让用户又可以有好的速度体验。

所以在线下与线上之间我们需要一个编译系统来做这个事情,即它需要完成以下需求。

1. 自动按照某种规则合并当前页面的js和css ,让原来无数个请求变成较少请求。

2. 能自动替换一些地址。比如后端的接口地址,图片的地址等等。

3. 能自动压缩js ,css (如通过yui).

4. 能压缩一些静态图片(比如png图片)

5. 能按照某种规则来css-sprite

可能还有其他的一些类似上面的需求,

自动化编译环境相当于是一个工具集,来代替手动完成的事情。

而我们现在需要这么一个环境来让开发人员只用专注开发,将他们从合并,压缩等一些繁琐的劳动中解放出来。

这仅仅是一个思路,也许还有很多考虑的不完善,请大家给些建议。

之后会开始启动这个环境的搭建。

原文地址:https://www.cnblogs.com/fang9159/p/qianduan.html