网络应用的构建方法及装置制造方法

文档序号:6487390阅读:91来源:国知局
网络应用的构建方法及装置制造方法
【专利摘要】本发明提供了一种网络应用的构建方法及装置,其中,网络应用的构建方法包括:获取构建配置信息,所述构建配置信息包括应用的模块信息及每个模块的构建任务信息;根据该构建配置信息为该应用的每个模块加载一条任务链;为所述每个模块构建所述任务链;依次执行每条任务链,依次执行当前任务链中的每个任务。采用本发明的技术方案,可以方便地、快速地完成web应用的构建过程,并且在web应用中添加新模块后,可以方便地在已构建任务基础上增量添加构建过程而不需要重新构建,从而降低了实现复杂度,提高了开发效率。
【专利说明】网络应用的构建方法及装置
【技术领域】
[0001]本发明涉及网络(web)【技术领域】,尤其涉及一种网络应用的构建方法及装置。
【背景技术】
[0002]计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言 翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一种是编译, 一种是解释,二者翻译的时间不同。对应的,高级语言通常也可分为编译型语言和解释性语 言,常见的编译型语言有C/C++、Pascal等,常见的解释性语言有JavaScript、VBScript、 Python 等。
[0003]编译型语言的程序在运行前要通过编译、链接等过程产生机器语言的程序,这个 过程通常称为构建。通常完整的构建环境不止是一个编译器和链接器,还可以包含一些集 成开发环境(IDE)、自动化构建脚本以及测试工具等。
[0004]解释性语言的程序不需要编译,在运行程序的时候才进行翻译。对解释性语言的 程序进行构建省去了编译的过程,通常包括一些代码的分析、合并、测试等过程。
[0005]随着互联网的普及和web技术的发展,使用javascript编写web应用变得越来越 普遍。对于少量javascript文件是很容易构建或直接使用的。但随着web应用中使用的 javascript的文件以及项目的增多,应用的构建过程变得越来越复杂。尤其是开发多个复 杂web应用时,每次都要编写维护一整套构建过程,这对应用开发者是很大的工作量,增加 了应用开发的复杂性,并减慢了应用的开发速度。

【发明内容】

[0006]本发明实施例提供了一种网络应用的构建方法及装置,以克服目前开发多个复杂 web应用时,因每次都要编写维护一整套构建过程而引起的工作量增大、复杂性增大及开发 效率降低的问题。
[0007]本发明实施例提供了一种网络(web)应用的构建方法,该方法包括:
[0008]获取构建配置信息,所述构建配置信息包括应用的模块信息及每个模块的构建任 务信息;
[0009]根据该构建配置信息为该应用的每个模块加载一条任务链;为所述每个模块构建 所述任务链;
[0010]依次执行每条任务链,依次执行当前任务链中的每个任务。
[0011 ] 优选地,所述获取构建配置信息包括:
[0012]加载配置文件,从所述配置文件中解析出所述构建配置信息。
[0013]优选地,所述配置文件中添加有新增模块的信息及该新增模块的构建任务信息。
[0014]优选地,所述配置文件中还添加有对应所述模块或所述新增模块的构建自定义任 务信息。
[0015]本发明实施例还提供了一种网络(web)应用的构建装置,该装置包括:[0016]应用管理器,用于获取构建配置信息,所述构建配置信息包括应用的模块信息及 每个模块的构建任务信息;根据该构建配置信息为该应用的每个模块加载一条任务链;为 所述每个模块创建一个任务管理器,并将所述构建任务信息传递给对应的任务管理器;以 及,在成功加载所有的任务链后,依次执行每条任务链;
[0017]所述任务管理器,用于接收所述应用管理器发送的所述构建任务信息,根据所述 构建任务信息查找所对应的任务,确定所有的所述构建任务信息都合法后,构建所述任务 链;以及,在所述应用管理器执行当前任务链时,依次执行当前任务链中的每个任务。
[0018]优选地,该装置还包括:
[0019]配置信息分析器,用于加载配置文件,从所述配置文件中解析出所述构建配置信
肩、O
[0020]优选地,所述应用管理器,具体用于:向所述配置信息分析器发送获取请求,以及 接收所述配置信息分析器返回的所述构建配置信息。
[0021]优选地,所述配置文件中添加有新增模块的信息及该新增模块的构建任务信息。
[0022]优选地,所述配置文件中还添加有对应所述模块或所述新增模块的构建自定义任 务信息,所述构建任务信息或所述构建自定义任务信息均包括任务名及其对应的任务。
[0023]优选地,所述任务管理器,还用于保存所述任务名及其对应的任务。
[0024]采用本发明实施例,可以方便地、快速地完成web应用的构建过程,并且在web应 用中添加新模块后,可以方便地在已构建任务基础上增量添加构建过程而不需要重新构 建,从而降低了实现复杂度,提高了开发效率。
【专利附图】

【附图说明】
[0025]图1为本发明应用及其相关任务的关系;
[0026]图2为本发明web应用的构建装置实施例的结构示意图;
[0027]图3为本发明web应用的构建方法实施例的流程图。
【具体实施方式】
[0028]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明 的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中 的特征可以相互任意组合。
[0029]如图1所示,每个应用可能包含一个或多个需要分别构建的模块,而对于每个模 块,可能需要不同的构建任务;例如图1中的应用包含模块A、B等模块,模块A进行构建时 需要经过文件排序、分析依赖关系、移除无用文件、合并文件、缩小文件5个任务,而模块B 构建时需要经过分析依赖关系、合并文件、缩小文件、标记文件类型、分析文件是否需要缓 存5个任务。应用中各个模块构建时使用的任务数量、种类以及任务的顺序都可能是不同 的。
[0030]如图2所示,为本发明web应用的构建装置实施例的结构示意图,该装置包括:应 用管理器21和任务管理器22,其中:
[0031]应用管理器,用于获取构建配置信息,所述构建配置信息包括应用的模块信息及 每个模块的构建任务信息;根据该构建配置信息为该应用的每个模块加载一条任务链;为所述每个模块创建一个任务管理器,并将所述构建任务信息传递给对应的任务管理器;以 及,在成功加载所有的任务链后,依次执行每条任务链;
[0032]所述任务管理器,用于接收所述应用管理器发送的所述构建任务信息,根据所述 构建任务信息查找所对应的任务,确定所有的所述构建任务信息都合法后,构建所述任务 链;以及,在所述应用管理器执行当前任务链时,依次执行当前任务链中的每个任务。
[0033]另外,该装置还包括:配置信息分析器23,用于加载配置文件,从所述配置文件中 解析出所述构建配置信息。
[0034]其中,所述应用管理器,具体用于:向所述配置信息分析器发送获取请求,以及接 收所述配置信息分析器返回的所述构建配置信息。
[0035]为了在应用中可添加新的模块,开发人员只需要在配置文件中添加对应的新增信 息即可。
[0036]为了可以在当前模块中增加自定义任务,所述配置文件中还可以添加有对应所述 模块或所述新增模块的构建自定义任务信息;所述构建任务信息或所述构建自定义任务信 息均包括任务名及其对应的任务。
[0037]基于上述结构的web应用构建装置构建应用的过程如图3所示,该过程包括:
[0038]步骤301、构建过程开始,应用管理器要获取构建的配置信息;
[0039]步骤302、配置信息分析器加载配置文件,分析文件中的模块信息和相应的构建任 务信息并返回给应用管理器;
[0040]步骤303、根据配置信息,应用管理器将会为应用的每个模块加载一条任务链;具 体的,应用管理器会为每个应用模块新建一个任务管理器的实例,并将构建该模块所需的 任务信息传递给该实例以便构建任务链;
[0041]步骤304、任务管理器根据应用管理器传递过来的任务信息查找所对应的任务,如 果所有的任务信息都合法,则将所需的任务串成一条链,并返回链首;
[0042]步骤305、应用管理器成功加载所有的任务链后,依次执行每个任务链;
[0043]步骤306、任务管理器加载本应用模块的相关文件,依次执行任务链中的每个任 务;
[0044]步骤307、所有任务执行结束时,整个应用构建过程完成。
[0045]如果应用中添加了新模块,只需要在配置文件中添加该新模块以及相应的构建任 务信息,应用的构建就能够顺利进行。如果现有的任务无法满足需求,可以添加所需的自定 义任务。具体的方法是,继承基础的任务并实现所需的一些功能(例如执行时所需的run 函数),然后在任务管理器中注册该任务以便任务管理器能够正确识别并加载该任务。
[0046]另外,配置文件可以是json格式的文件(文件名通常为config.json),其内容可
能类似这样:
[0047]{
modules:[
{
name: "core", path: "./core/",
tasks: ["sort", "dependency", "merge"]
},
{
name: "ui",
[0048]
path: "./ui/",
tasks: ["dependency", "merge", 'minify']
}
]
}
[0049]如上的应用包含两个需要构建的模块“core”和“ui”,其中“core”构建时需要依 次执行“sort”、“d印endenCmerge”三个任务。配置信息分析器可以将配置文件中的内 容解析为一个javascript对象,根据属性名就可以直接获取模块信息及构建任务信息了。 在配置文件中也可以添加其他各种实际需要的属性,以便应用管理器或任务管理器使用该信息。
[0050]对任务的一种可能实现是定义一个任务原型,该原型定义了每个任务在一个 任务链中工作都要有的函数和属性,例如:run()函数定义了任务实际要执行的内容, iSReadyO函数定义了任务是否准备好执行了(可能只有满足了某些前置条件本任务才能 执行)。当要添加新的自定义任务时,该任务要实现自己的run ()、isReady ()函数来完成 它自己需要的动作(覆盖原型中的函数)。
[0051]在实现具体的任务后,任务管理器需要了解这个任务。在任务管理器中构造了一 个入口表来告诉任务管理器关于各个任务的情况。管理任务是在任务管理器的表中查找以 获取任务的实例。其中两个必要的值是:任务名和对应的任务。创建配置文件的人和任务 管理器都应知道任务名,这样该任务才能被正常的使用。
[0052]上述web应用的构建装置,可以方便地、快速地完成web应用的构建过程,并且在 web应用中添加新模块后,可以方便地在已构建任务基础上增量添加构建过程而不需要重 新构建,从而降低了实现复杂度,提高了开发效率。
[0053]本发明实施例提供了一种网络(web)应用的构建方法,该方法包括:
[0054]步骤一、获取构建配置信息,所述构建配置信息包括应用的模块信息及每个模块 的构建任务信息;
[0055]其中,所述获取构建配置信息包括:加载配置文件,从所述配置文件中解析出所述构建配置信息;
[0056]另外,为了在应用中可添加新的模块,所述配置文件中添加有新增模块的信息及 该新增模块的构建任务信息;
[0057]进一步地,为了可以在当前模块中可增加自定义任务,所述配置文件中还添加有 对应所述模块或所述新增模块的构建自定义任务信息;
[0058]步骤二、根据该构建配置信息为该应用的每个模块加载一条任务链;为所述每个 模块构建所述任务链;
[0059]步骤三、依次执行每条任务链,依次执行当前任务链中的每个任务。
[0060]上述应用构建方法,基于任务,能够很方便用于一个web应用中,当应用添加新模 块时也可以很方便的扩展构建系统;另外,除了能够使用内建的任务外,能够方便的自定义 任务,以满足该应用的不同需求。
[0061]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0062]以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发 明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改 或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范 围当中。
【权利要求】
1.一种网络(web)应用的构建方法,其特征在于,该方法包括:获取构建配置信息,所述构建配置信息包括应用的模块信息及每个模块的构建任务信息;根据该构建配置信息为该应用的每个模块加载一条任务链;为所述每个模块构建所述 任务链;依次执行每条任务链,依次执行当前任务链中的每个任务。
2.根据权利要求1所述的方法,其特征在于:所述获取构建配置信息包括:加载配置文件,从所述配置文件中解析出所述构建配置信息。
3.根据权利要求2所述的方法,其特征在于:所述配置文件中添加有新增模块的信息及该新增模块的构建任务信息。
4.根据权利要求2或3所述的方法,其特征在于:所述配置文件中还添加有对应所述模块或所述新增模块的构建自定义任务信息。
5.一种网络(web)应用的构建装置,其特征在于,该装置包括:应用管理器,用于获取构建配置信息,所述构建配置信息包括应用的模块信息及每个 模块的构建任务信息;根据该构建配置信息为该应用的每个模块加载一条任务链;为所述 每个模块创建一个任务管理器,并将所述构建任务信息传递给对应的任务管理器;以及,在 成功加载所有的任务链后,依次执行每条任务链;所述任务管理器,用于接收所述应用管理器发送的所述构建任务信息,根据所述构建 任务信息查找所对应的任务,确定所有的所述构建任务信息都合法后,构建所述任务链;以 及,在所述应用管理器执行当前任务链时,依次执行当前任务链中的每个任务。
6.根据权利要求5所述的装置,其特征在于,该装置还包括:配置信息分析器,用于加载配置文件,从所述配置文件中解析出所述构建配置信息。
7.根据权利要求6所述的装置,其特征在于:所述应用管理器,具体用于:向所述配置信息分析器发送获取请求,以及接收所述配置 信息分析器返回的所述构建配置信息。
8.根据权利要求6所述的装置,其特征在于:所述配置文件中添加有新增模块的信息及该新增模块的构建任务信息。
9.根据权利要求6或8所述的装置,其特征在于:所述配置文件中还添加有对应所述模块或所述新增模块的构建自定义任务信息,所述 构建任务信息或所述构建自定义任务信息均包括任务名及其对应的任务。
10.根据权利要求9所述的装置,其特征在于:所述任务管理器,还用于保存所述任务名及其对应的任务。
【文档编号】G06F9/44GK103577170SQ201210264082
【公开日】2014年2月12日 申请日期:2012年7月27日 优先权日:2012年7月27日
【发明者】武彦平 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1