zoukankan      html  css  js  c++  java
  • 打造前端自动化编译环境(思路)

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

    口,再分配不同的人来开发,开发的时候同在一个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

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

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

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

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

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

  • 相关阅读:
    c#实现windows远程桌面连接程序
    基于.NET平台常用的框架整理
    c#无限循环线程如何正确退出
    c# 内存的具体表现- 通用类型系统 深拷贝 浅拷贝 函数传参
    coco2d-x convertToWorldSpace介绍
    Effective C++条款20:宁以pass-by-reference-to-const替换pass-by-value。Test code
    函数指针与指针函数返回值的区别
    游戏开发那些事
    lua 根据指定字符拆分table字符串(转载)
    实习和学习的双重压力
  • 原文地址:https://www.cnblogs.com/fang9159/p/qianduan.html
Copyright © 2011-2022 走看看