`
yiminghe
  • 浏览: 1434009 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

框架 build 系统介绍

阅读更多

一个复杂的类库通常都包括很多子模块( jquery@git ,yui3@git ),在开发中往往多人对不同的模块进行开发,在发布时通过自动脚本进行代码的压缩,合并等等,最终生成文件数量较少的所谓的打包(build)代码。


jquery,yui3 采用的都是 ant 的 build 架构,kissy 借鉴了这一体系,通过共享公共 build file 以及分别编写各个组件的 build file 来达到发布时自动得到最终的优化代码:


公用 build file

 

包含任何模块都需要的:

1.打包前准备动作:清除以前打包文件,建立临时目录等

2.合并代码:将必要的分散的子模块代码 concat 在一起

3.压缩代码:对代码进行压缩处理

4.ASCII话,对中文进行unicode转化(\uxxxxx),减少 js 编码对 html 编码的依赖。

5.标记化,从 svn 取出当前 revision 标志最终代码的版本号以及清除 debug 标志代码

6.清理工作:删除中间代码比如合并代码,删除临时目录等

 

common build.xml

 


组件build file

 

在引入公用 build file后,模块自身所做的事就很简单了:

指明自己的子模块代码文件,由公用 build 进行合并。


dom build.xml


build 过程:


由模块内的build file来完成子模块 build 为模块的工作,比如 dom的删除处理子模块,dom的css处理子模块等共同 build 为 dom 模块。


由核心库内的build file来完成模块 build 为库的工作:比如 dom模块,event模块等共同 build 为 core 库


由框架内的 build file来完成核心库与ui库 build 为完整框架的工作:比如 core库,树形组件库等ui库共同build 为完整的 kissy 框架。


当需要发布时,只需执行脚本 build.sh ,按照顺序执行每个build file,最终即可生成各个层级的发布打包代码。




分享到:
评论

相关推荐

    飞天桌面框架系统 build20130313 V3.1正式发布.rar

    功能简介 1、采用符合Web2.0标准的XHTML CSS3开发而成,兼容各大浏览器(建议用IE9或其他浏览器的最新版可看到最佳效果)。 2、分桌面管理应用,桌面应用可以随心所欲进行管理。 3、个性化的皮肤选择与设置,自定义...

    深入理解AndroidBuild系统

    AndroidBuild系统是用来编译Android系统、AndroidSDK以及相关文档的一套框架。在Android系统中,Android的源码中包含了许许多多的模块。不同产商的不同设备对于Android系统的定制都是不一样的。如何将这些模块统一...

    buildtest:HPC系统和软件测试框架

    Buildtest为在编写称为Buildspecs的工具提供了便利的框架,并且buildtest处理如何创建测试脚本并在系统上运行测试。 Buildtest利用来指定如何编写和验证Buildspec的架构。 学习了buildtest之后,就可以开始编写测试...

    基于wepy 框架构建的微信小程序开发的线上电子商城系统

    基于wepy 框架构建的微信小程序开发的线上电子商城系统 项目新建步骤: wepy init empty wepyshop 1. 初始化wepy项目 cd wepyshop 2. 进入项目文件夹 npm i 3. 安装 npm 依赖包 wepy build --watch 4. 编译 wepy ...

    千博Flash网站系统 v2017 Build0702

    千博Flash网站管理系统,是指利用Flash工具设计网站框架并通过程序读取数据的高端网站。与其他通过Html、Aspx或Php等技术制作的网站不同,Flash网站在视觉效果、互动效果等多方面具有更强的优势。被广泛应用在房地产...

    javaweb的ssm框架的餐厅订餐系统源码(源码+数据库+截图).zip

    若项目搭完404,请把项目build path一下(项目上右键),Tomcat7.0 -remove,再add library,server runtime ,Tomcat 7.0 加一次。 后台功能: 菜系管理:添加修改菜系 菜品管理:设置菜品价格图片,增删改查 订单...

    dwz短网址 3.0 build 20131107.zip

    dwz短网址 3.0 build 20131107 新版特性: 1.二维码与短网址双重生成 2.模版自由修改 3.淘宝客智能劫持系统 4.独创中间页模式 5.统计系统 6.完善的会员系统  7.可盈利的会员套餐系统  8.短网址扩展 9....

    ITool网站综合查询系统 Build20110810.rar

    ITool网站综合查询系统是我练习PHP写的小东西之一,提供页面信息、PR、Alexa、搜索收录、域名Whois查询功能,只要输入域名即可...1.使用SpeedPHP框架,模板化加载 2.换用AJAX加载信息,提高用户体验 3.修正已知BUG

    千博Flash网站系统 v2017 Build0702.zip

    千博Flash网站系统 v2017 Build0702 更新日志 修正导航栏管理中的兼容性错误。 千博Flash网站系统 简介 千博Flash网站管理系统,是指利用Flash工具设计网站框架并通过程序读取数据的高端网站。与其他通过Html、...

    visual_c++_build_tools_2015

    SDK是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序...

    flask框架,python+vue3构建,前后端分离,后台管理系统模板,适合python web的二次开发项目,支持快速迭代

    flask框架,python+vue3构建,前后端分离,后台管理系统模板,适合python web的二次开发项目,支持快速迭代 后端端环境和依赖 python3.7 flask flask-script flask-socketio flask-sqlalchemy numpy flask-...

    Modoer多功能点评系统 v2.5 精华版 Build 20110710 UTF8

    Modoer点评系统 2.5 Build 20110710更新列表1.同步 旗舰版系统框架2.增加 限制图片上传后的最大尺寸3.增加 主题收藏的统计功能4.增加 主题重复点评的功能(可定义重复次数,重复时间间隔)5.增加 主题模块分类页单独...

    深入解析Android5.0系统

    资源名称:深入解析Android 5.0系统内容简介:《深入解析Android 5.0系统》详细剖析了最新Android 5.0 系统...主要内容为: Android Build系统核心、And 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    build-tools_r19.1-windows

    build-tools_r19.1-windows 解压后拷贝到sdk\build-tools SDK:(software development kit)软件开发工具包...被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

    MyfCMS闵益飞php内容管理系统v2.0betabuild20130902

    MyfCMS的模板引擎使用了当前最流行的smarty模板引擎,MVC框架采用了自己研发的MyfMVC框架(特轻量级的PHPMVC框架,以速度快为优势)。MyfCMS的开发者有5年多的开发经验,一直从事互联网信息系统建设,结合这几年的...

    ShopNCphp社区化多用户商城系统v2.2Build20120929GBK

    ShopNC多用户商城,全新的框架体系,呈现给您不同于以往的操作模式,更简约的界面,更流畅的搜索机制,更具人性化的管理后台操作,更适应现在网络的运营模式解决... ShopNC商城系统v2.2 Build 20120929增加了如下功能

    飞天桌面框架系统 build20130313 V3.1正式发布

    功能简介 1、采用符合Web2.0标准的XHTML+CSS3开发而成,兼容各大浏览器(建议用IE9或其他浏览器的最新版可看到最佳效果)。 2、分桌面管理应用,桌面应用可以随心所欲进行管理。 3、个性化的皮肤选择与设置,自定义...

    Yourphp全开源免费的php企业网站管理系统v3.0build20141119

    核心采用了Thinkphp框架等众多开源软件,同时核心功能也作为开源软件发布的网站后台管理系统。 Yourphp 企业网站管理系统的兼容性,模块化,可操作性很不错。对于技术与非技术人员都不错。 全新安装:将压缩包内的...

Global site tag (gtag.js) - Google Analytics