CN109582347B - 一种获取前端代码的方法及装置 - Google Patents
一种获取前端代码的方法及装置 Download PDFInfo
- Publication number
- CN109582347B CN109582347B CN201811196769.XA CN201811196769A CN109582347B CN 109582347 B CN109582347 B CN 109582347B CN 201811196769 A CN201811196769 A CN 201811196769A CN 109582347 B CN109582347 B CN 109582347B
- Authority
- CN
- China
- Prior art keywords
- service module
- target
- version
- module
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000001419 dependent effect Effects 0.000 claims description 113
- 230000006870 function Effects 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000009434 installation Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 abstract description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种获取前端代码的方法及装置,涉及一种计算机技术领域,为解决现有技术中前端代码难以维护的问题。本方法主要包括:按照***功能,将应用程序的前端代码划分为至少一个业务模块;上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息;配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序。本发明应用于应用程序开发及维护过程中。
Description
技术领域
本发明涉及一种计算机技术领域,特别是涉及一种获取前端代码的方法及装置。
背景技术
在应用程序开发过程中,通常会开发自己的组件库,上层的业务功能都是基于组件库开发的。其中业务功能可以划分成多个模块,划分的方法一般都是独立成为一个业务闭环,同时不依赖其他功能模块。
当一个应用程序有多个版本需要维护时,就会发生代码管理混乱的问题。比如一个应用程序有2个模块,模块A和模块B,而他们又依赖基础组件库C来实现各自的功能。在应用程序2.0版本,需要的是模块A的1.0版本,模块B的2.0版本,基础组件库C的1.0版本;在应用程序3.0版本,需要的是模块A的2.0版本,模块B的3.0版本,基础组件库C的2.0版本。
如果同时维护多个版本的应用程序,需要面对如此复杂,甚至更复杂的版本组合,则给开发者造成很大的困扰。也就是说,现阶段代码管理中同一***的所有功能模块都集中在一个项目中,当某些业务模块在特定版本不需要的时候,只有通过整个***拉取新的分支来解决,当可选的模块变多,分支数量会成指数增长,代码难以维护。
发明内容
有鉴于此,本发明提供一种获取前端代码的方法及装置,主要目的在于解决现有技术中前端代码难以维护的问题。
依据本发明一个方面,提供了一种获取前端代码的方法,包括:
按照***功能,将应用程序的前端代码划分为至少一个业务模块;
上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息,所述配置信息是指所述业务模块实现其对应的***功能时依赖的除所述业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序。
依据本发明一个方面,提供了一种获取前端代码的装置,包括:
划分单元,用于按照***功能,将应用程序的前端代码划分为至少一个业务模块;
生成单元,用于上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息,所述配置信息是指所述业务模块实现其对应的***功能时依赖的除所述业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置单元,用于配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
获取单元,用于依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述获取前端代码的方法对应的操作。
根据本发明的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述获取前端代码的方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种获取前端代码的方法及装置,首先按照***功能,将应用程序的前端代码划分为至少一个业务模块,然后上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,再配置目标版本应用程序的配置文件,最后依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码。与现有技术相比,本发明实施例通过业务模块的配置信息,以配置信息中的业务模块的依赖业务模块名称和依赖业务模块版本号,反映业务模块之间的关联关系,以便统一管理和维护。与现有技术相比,本发明实施例通过目标版本应用程序的配置文件,获取与目标版本应用程序对应的前端代码,实现对特定版本应用程序的前端代码的管理与维护。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的一种获取前端代码的方法流程图;
图2示出了本发明实施例二提供的另一种获取前端代码的方法流程图;
图3示出了本发明实施例三提供的一种获取前端代码的装置框图;
图4示出了本发明实施例四提供的另一种获取前端代码的装置框图;
图5示出了本发明实施例六提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
将编写好的前端代码传输至共同的终端,以便更好地维护前端代码,共同终端可以是电脑或服务器。本发明实施例提供了一种获取前端代码的方法,如图1所示,所述方法包括:
101、按照***功能,将应用程序的前端代码划分为至少一个业务模块。
应用程序,是指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。前端代码是指应用程序显示用户界面和与用户交互所需的程序代码,是应用程序的部分程序。***功能是指应用程序能够展示的功能或者能够响应用户操作的功能,例如,音乐播放程序,包括显示歌词、歌名、演唱者等展示的***功能,也包括播放下一首、暂停播放、增加播放音量等响应用户操作的***功能。依据应用程序***功能的不同,将应用程序的前端代码划分为至少一个业务模块。业务模块与***功能是一一对应的,在本发明实施例中,对业务模块的划分方式不做限定。
在前端代码中还包括技术基础组件,技术基础组件是实现***功能的必要组成,在本发明实施例中,为了更简便的描述技术方案,对技术基础组件不做单独划分,将技术基础组件看做是一个业务模块。技术基础组件包括:基础组件模块、用户登录判断逻辑模块和用户退出判断逻辑模块等。应用程序至少需要又技术基础组件构成基本的***功能,二本申请中将技术基础组件看做是一个业务模块,所以前端代码至少包括一个业务模块。
102、上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息。
业务代码,是指实现业务模块的程序代码,在上传业务代码时,生成业务模块名称和业务模块版本号,业务模块版本号随着上传业务代码次数的增加而增加。业务模块的配置信息是指业务模块实现其对应的***功能时依赖的除业务模块之外的依赖业务模块名称和依赖业务模块版本号。配置信息实际内容,包含在业务代码中,在业务代码中通过调用函数或传递函数等方式进行标识。查找业务代码中的配置信息标识,将标识信息生成为配置信息。
103、配置目标版本应用程序的配置文件。
随着应用程序的不断运行,需要不断地修复应用程序的运行漏洞,需要不断地更新应用程序的功能,因此会以新的版本记录应用程序的修复或更新。为了满足用户的不同需求,每个版本的应用程序都需要维护,所以目标版本应用程序,是应用程序的所有版本中的特定版本。配置文件包括目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号。其中目标业务模块属于业务模块,其数量至少为1个,用目标业务模块名称和目标业务模块版本号共同确定。
104、依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码,以维护目标版本应用程序。
在配置文件中写明了目标版本应用程序所需的目标业务模块,而在配置信息中写明了目标业务模块的依赖业务模块名称和依赖业务模块版本号,据此能够查找到业务代码中的目标版本应用程序的前端代码。对前端代码进行修改、编译、测试和发布,以维护目标版本应用程序。
本发明提供了一种获取前端代码的方法,首先按照***功能,将应用程序的前端代码划分为至少一个业务模块,然后上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,再配置目标版本应用程序的配置文件,最后依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码。与现有技术相比,本发明实施例通过业务模块的配置信息,以配置信息中的业务模块的依赖业务模块名称和依赖业务模块版本号,反映业务模块之间的关联关系,以便统一管理和维护。与现有技术相比,本发明实施例通过目标版本应用程序的配置文件,获取与目标版本应用程序对应的前端代码,实现对特定版本应用程序的前端代码的管理与维护。
本发明实施例提供了另一种获取前端代码的方法,如图2所示,方法包括:
201、按照***功能,将应用程序的前端代码划分为至少一个业务模块。
一个应用程序能够实现多个***功能,所以按照***功能才能将前端代码划分为多个业务模块。在应用程序的功能特别少的情况下,可能存在只有一个业务模块的情形。在实际编写应用程序的过程中,可能使用html,css,javascript,html5,css3,jQuery,ajax,Bootstrap或Backbone等语言编写前端代码,在本发明实施例中对前端代码使用的语言不做限定。
202、上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息。
业务代码是部分或者全部的前端代码,业务代码与业务模块是一一对应的。业务模块的配置信息是指业务模块实现其对应的***功能时依赖的除业务模块之外的依赖业务模块名称和依赖业务模块版本号。配置信息中可以不包括依赖模块,也可以包括多个依赖模块。例如,前端代码分为业务模块A、业务模块B和业务模块C,其中业务模块A是依赖于业务模块B和业务模块C实现的,那么业务模块B和业务模块C都是业务模块A的配置信息中的依赖业务模块名称,业务模块B和业务模块C的版本号都是业务模块A的配置信息中的依赖业务模块版本号。也就是说依赖业务模块名称,是业务模块中的一个或多个业务模块名称,用“依赖”限定了该业务模块的作用。
203、配置目标版本应用程序的配置文件。
配置文件包括目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号。配置文件是获取目标版本应用程序代码的基础。配置文件与应用程序的目标版本有关,还与客户端是否安装应用程序,以及安装应用程序的版本有关。
具体的,配置目标版本应用程序的配置文件,包括:判断目标版本应用程序是否为首次安装版本;如果判断结果为是,则配置目标版本应用程序所需的全部业务模块名称和对应的版本号为配置文件;如果判断结果为否,则根据已安装应用程序版本,配置目标版本应用程序的配置文件。在判断是否为首次安装版本时,可以通过检查客户端已安装应用程序判断,可以通过检查该应用程序能够保存的特定格式的文件判断,也可以通过检查客户端的日志判断,在本发明实施例中对判断是否为首次安装版本的判断方法不做限定。如果客户端为首次安装,则目标版本的应用程序中包括全部业务模块名称和对应的版本号。如果不是首次安装则配置文件仅包括更新部分的业务模块名称和对应的版本号即可。由于应用程序的目标版本与其所包含的业务模块的版本不一定相同,所以目标版本应用程序中的业务模块都需要记录模块名称和对应的版本号。
具体的,根据已安装应用程序版本,配置目标版本应用程序的配置文件,包括:检测已安装应用程序版本,与目标版本应用程序相比的更新业务模块名称和更新业务模块版本号;将更新业务模块名称和更新业务模块版本号,配置为配置文件。
获取检测到的已安装应用程序版本中业务模块的模块列表,在获取目标版本中业务模块的更新模块列表。以更新模块列表为基础,判断更新模块列表中的业务模块及其对应的版本号是否包含于模块列表,如果不包含则确定该业务模块及其对应的版本号为更新业务模块和更新业务模块版本号,如果包含则继续下一个业务模块及其对应的版本号是否包含于模块列表,直到更新模块列表中所有的业务模块都经过判断。再判断完成后,获取所有的更新业务模块名称和更新业务模块版本号。人后将更新业务模块名称和更新业务模块版本号,配置为配置文件。
204、按照预置顺序,遍历配置文件中的目标模块版本号对应的目标业务模块,查找目标业务模块的依赖业务模块。
预置顺序可以是业务模块的编号顺序、可以是业务模块的业务代码上传顺序、也可以是业务模块的名称首字母的排列顺序,在本发明实施例中对预置顺序的排列方式不做限定。按照预置顺序遍历并查找,目标业务模块中的依赖业务模块。目标业务模块是指目标版本应用程序中包含的业务模块。
查找目标业务模块的依赖业务模块,具体包括:获取目标业务模块对应的目标配置信息中的依赖业务模块名称和依赖业务模块版本号;查找依赖业务模块版本号和依赖业务模块名称对应的依赖业务模块;获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号,继续查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块,直到依赖业务模块的配置信息为空。
获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,方法还包括:如果二次依赖业务模块名称的数量大于1,则按照深度优先算法,查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块。
获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,方法还包括:如果二次依赖业务模块名称的数量大于1,则按照广度优先算法,查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块。
深度优先算法和广度优先算法都可以计算出目标业务模块的所有依赖业务模块,根据目标业务模块和依赖业务模块之间的关系不同,其计算速度也不相同。
205、集合目标业务模块对应的业务代码以及目标业务模块的依赖模块对应的业务代码,生成目标版本应用程序的前端代码。
在上传的业务代码中,查找目标业务模块对应的业务代码,以及查找目标业务模块的依赖模块对应的业务代码,集合查找到的业务代码,生成目标版本应用程序的前端代码。根据前端代码可以实现对目标版本应用程序的修改、编译、测试和发布。
本发明提供了一种获取前端代码的方法,首先按照***功能,将应用程序的前端代码划分为至少一个业务模块,然后上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,再配置目标版本应用程序的配置文件,最后依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码。与现有技术相比,本发明实施例通过业务模块的配置信息,以配置信息中的业务模块的依赖业务模块名称和依赖业务模块版本号,反映业务模块之间的关联关系,以便统一管理和维护。与现有技术相比,本发明实施例通过目标版本应用程序的配置文件,获取与目标版本应用程序对应的前端代码,实现对特定版本应用程序的前端代码的管理与维护。
进一步的,作为对上述图1所示方法的实现,本发明实施例三提供了一种获取前端代码的装置,如图3所示,该装置包括:
划分单元31,用于按照***功能,将应用程序的前端代码划分为至少一个业务模块;
生成单元32,用于上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,配置信息是指业务模块实现其对应的***功能时依赖的除业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置单元33,用于配置目标版本应用程序的配置文件,配置文件包括目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
获取单元34,用于依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码,以维护目标版本应用程序。
本发明提供了一种获取前端代码的装置,首先按照***功能,将应用程序的前端代码划分为至少一个业务模块,然后上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,再配置目标版本应用程序的配置文件,最后依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码。与现有技术相比,本发明实施例通过业务模块的配置信息,以配置信息中的业务模块的依赖业务模块名称和依赖业务模块版本号,反映业务模块之间的关联关系,以便统一管理和维护。与现有技术相比,本发明实施例通过目标版本应用程序的配置文件,获取与目标版本应用程序对应的前端代码,实现对特定版本应用程序的前端代码的管理与维护。
进一步的,作为对上述图2所示方法的实现,本发明实施例四提供了另一种获取前端代码的装置,如图4所示,该装置包括:
划分单元41,应用按照***功能,将应用程序的前端代码划分为至少一个业务模块;
生成单元42,用于上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,配置信息是指业务模块实现其对应的***功能时依赖的除业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置单元43,用于配置目标版本应用程序的配置文件,配置文件包括目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
获取单元44,用于依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码,以维护目标版本应用程序。
进一步地,配置单元43,包括:
判断模块431,用于判断目标版本应用程序是否为首次安装版本;
配置模块432,用于如果判断结果为是,则配置目标版本应用程序所需的全部业务模块名称和对应的版本号为配置文件;
配置模块432,还用于如果判断结果为否,则根据已安装应用程序版本,配置目标版本应用程序的配置文件。
进一步地,配置模块432,包括:
检查子模块4321,用于检测已安装应用程序版本,与目标版本应用程序相比的更新业务模块名称和更新业务模块版本号;
配置子模块4322,用于将更新业务模块名称和更新业务模块版本号,配置为配置文件。
进一步地,获取单元44,包括:
查找模块441,用于按照预置顺序,遍历配置文件中的目标模块版本号对应的目标业务模块以及目标业务模块对应的配置信息,查找目标业务模块的依赖业务模块;
生成模块442,用于集合目标业务模块对应的业务代码,以及目标业务模块的依赖业务模块对应的业务代码,生成目标版本应用程序的前端代码。
进一步地,查找模块441,包括:
获取子模块4411,用于获取目标配置信息中的依赖业务模块名称和依赖业务模块版本号;
查找子模块4412,用于查找依赖业务模块版本号和依赖业务模块名称对应的依赖业务模块;
获取子模块4411,还用于获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号,继续查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块,直到依赖业务模块的配置信息为空。
进一步地,方法还包括:
查找子模块4412,还用于获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,如果二次依赖业务模块名称的数量大于1,则按照深度优先算法,查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块。
进一步地,方法还包括:
查找子模块4412,还用于获取依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,如果二次依赖业务模块名称的数量大于1,则按照广度优先算法,查找二次依赖业务模块名称和二次依赖业务模块版本号对应的二次依赖业务模块。
本发明提供了一种获取前端代码的装置,首先按照***功能,将应用程序的前端代码划分为至少一个业务模块,然后上传业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和业务模块对应的配置信息,再配置目标版本应用程序的配置文件,最后依据配置文件以及目标业务模块对应的配置信息,获取目标版本应用程序的前端代码。与现有技术相比,本发明实施例通过业务模块的配置信息,以配置信息中的业务模块的依赖业务模块名称和依赖业务模块版本号,反映业务模块之间的关联关系,以便统一管理和维护。与现有技术相比,本发明实施例通过目标版本应用程序的配置文件,获取与目标版本应用程序对应的前端代码,实现对特定版本应用程序的前端代码的管理与维护。
根据本发明实施例五提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的获取前端代码的方法。
图5示出了根据本发明实施例六提供的一种终端的结构示意图,本发明具体实施例并不对终端的具体实现做限定。
如图5所示,该终端可以包括:处理器(processor)502、通信接口(CommunicationsInterface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述数据查询方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
按照***功能,将应用程序的前端代码划分为至少一个业务模块;
上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息,所述配置信息是指所述业务模块实现其对应的***功能时依赖的除所述业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种获取前端代码的方法,其特征在于,包括:
按照***功能,将应用程序的前端代码划分为至少一个业务模块;
上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息,所述配置信息是指所述业务模块实现其对应的***功能时依赖的除所述业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序,包括:按照预置顺序,遍历所述配置文件中的目标模块版本号对应的目标业务模块以及所述目标业务模块对应的配置信息,查找目标业务模块的依赖业务模块;集合所述目标业务模块对应的业务代码,以及所述目标业务模块的依赖业务模块对应的业务代码,生成所述目标版本应用程序的前端代码;
所述查找目标业务模块的依赖业务模块,包括:
获取所述目标业务模块对应的配置信息中的所述依赖业务模块名称和所述依赖业务模块版本号;查找所述依赖业务模块版本号和所述依赖业务模块名称对应的依赖业务模块;获取所述依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号,继续查找所述二次依赖业务模块名称和所述二次依赖业务模块版本号对应的二次依赖业务模块,直到所述依赖业务模块的配置信息为空。
2.如权利要求1所述的方法,其特征在于,所述配置目标版本应用程序的配置文件,包括:
判断所述目标版本应用程序是否为首次安装版本;
如果判断结果为是,则配置所述目标版本应用程序所需的全部业务模块名称和对应的版本号为所述配置文件;
如果判断结果为否,则根据已安装应用程序版本,配置所述目标版本应用程序的所述配置文件。
3.如权利要求2所述的方法,其特征在于,所述根据已安装应用程序版本,配置所述目标版本应用程序的所述配置文件,包括:
检测所述已安装应用程序版本,与所述目标版本应用程序相比的更新业务模块名称和更新业务模块版本号;
将所述更新业务模块名称和所述更新业务模块版本号,配置为所述配置文件。
4.如权利要求1所述的方法,其特征在于,所述获取所述依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,所述方法还包括:
如果所述二次依赖业务模块名称的数量大于1,则按照深度优先算法,查找所述二次依赖业务模块名称和所述二次依赖业务模块版本号对应的二次依赖业务模块。
5.如权利要求1所述的方法,其特征在于,所述获取所述依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号之后,所述方法还包括:
如果所述二次依赖业务模块名称的数量大于1,则按照广度优先算法,查找所述二次依赖业务模块名称和所述二次依赖业务模块版本号对应的二次依赖业务模块。
6.一种获取前端代码的装置,其特征在于,包括:
划分单元,用于按照***功能,将应用程序的前端代码划分为至少一个业务模块;
生成单元,用于上传所述业务模块对应的业务代码,并生成业务模块名称、业务模块版本号和所述业务模块对应的配置信息,所述配置信息是指所述业务模块实现其对应的***功能时依赖的除所述业务模块之外的依赖业务模块名称和依赖业务模块版本号;
配置单元,用于配置目标版本应用程序的配置文件,所述配置文件包括所述目标版本应用程序引用的目标业务模块的目标业务模块名称和目标业务模块版本号;
获取单元,用于依据所述配置文件以及所述目标业务模块对应的配置信息,获取所述目标版本应用程序的前端代码,以维护所述目标版本应用程序;
所述获取单元,包括:
查找模块,用于按照预置顺序,遍历所述配置文件中的目标模块版本号对应的目标业务模块以及所述目标业务模块对应的配置信息,查找目标业务模块的依赖业务模块;
生成模块,用于集合所述目标业务模块对应的业务代码,以及所述目标业务模块的依赖业务模块对应的业务代码,生成所述目标版本应用程序的前端代码;
所述查找模块,包括:
获取子模块,用于获取所述目标业务模块对应的配置信息中的所述依赖业务模块名称和所述依赖业务模块版本号;
查找子模块,用于查找所述依赖业务模块版本号和所述依赖业务模块名称对应的依赖业务模块;
获取子模块,还用于获取所述依赖业务模块的配置信息中的二次依赖业务模块名称和二次依赖业务模块版本号,继续查找所述二次依赖业务模块名称和所述二次依赖业务模块版本号对应的二次依赖业务模块,直到所述依赖业务模块的配置信息为空。
7.根据权利要求6所述的装置,其特征在于,配置单元,包括:
判断模块,用于判断目标版本应用程序是否为首次安装版本;
配置模块,用于如果判断结果为是,则配置目标版本应用程序所需的全部业务模块名称和对应的版本号为配置文件;
配置模块,还用于如果判断结果为否,则根据已安装应用程序版本,配置目标版本应用程序的配置文件。
8.根据权利要求7所述的装置,其特征在于,配置模块,包括:
检查子模块,用于检测已安装应用程序版本,与目标版本应用程序相比的更新业务模块名称和更新业务模块版本号;
配置子模块,用于将更新业务模块名称和更新业务模块版本号,配置为配置文件。
9.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-5中任一项所述的获取前端代码的方法对应的操作。
10.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-5中任一项所述的获取前端代码的方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811196769.XA CN109582347B (zh) | 2018-10-15 | 2018-10-15 | 一种获取前端代码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811196769.XA CN109582347B (zh) | 2018-10-15 | 2018-10-15 | 一种获取前端代码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582347A CN109582347A (zh) | 2019-04-05 |
CN109582347B true CN109582347B (zh) | 2024-04-02 |
Family
ID=65920075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811196769.XA Active CN109582347B (zh) | 2018-10-15 | 2018-10-15 | 一种获取前端代码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582347B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098961B (zh) * | 2021-03-31 | 2023-04-07 | 北京自如信息科技有限公司 | 组件上传方法、装置、***、计算机设备及可读存储介质 |
CN115454391B (zh) * | 2022-11-11 | 2023-06-16 | 零氪科技(北京)有限公司 | 客户端、客户端构建方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023983A (zh) * | 2009-09-11 | 2011-04-20 | 首都师范大学 | 统计时空数据库及其管理方法 |
CN102541851A (zh) * | 2010-12-10 | 2012-07-04 | 金蝶软件(中国)有限公司 | 页面模块化生成方法及*** |
CN106843820A (zh) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 代码处理方法和装置 |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0026363D0 (en) * | 2000-10-27 | 2000-12-13 | Sgs Thomson Microelectronics | Bi-endian libraries |
US9804829B2 (en) * | 2016-03-31 | 2017-10-31 | Ca, Inc. | Interface definition language compiler with version reconciliation |
-
2018
- 2018-10-15 CN CN201811196769.XA patent/CN109582347B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023983A (zh) * | 2009-09-11 | 2011-04-20 | 首都师范大学 | 统计时空数据库及其管理方法 |
CN102541851A (zh) * | 2010-12-10 | 2012-07-04 | 金蝶软件(中国)有限公司 | 页面模块化生成方法及*** |
CN106843820A (zh) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 代码处理方法和装置 |
CN108334334A (zh) * | 2018-03-07 | 2018-07-27 | 政采云有限公司 | 一种管理依赖包版本的方法和*** |
Non-Patent Citations (1)
Title |
---|
Android***非应用层软件的管理和优化;蔡完锡;李叠;刘昊;褥震;董渊;;计算机工程与设计;20160516(第05期);第264-272页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109582347A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10740093B2 (en) | Advanced packaging techniques for improving work flows | |
US8782635B2 (en) | Reconfiguration of computer system to allow application installation | |
US11481200B1 (en) | Checking source code validity at time of code update | |
US9612946B2 (en) | Using linked data to determine package quality | |
US20190377662A1 (en) | Identifying a source file for use in debugging compiled code | |
US11762822B2 (en) | Determining when a change set was delivered to a workspace or stream and by whom | |
US9946630B2 (en) | Efficiently debugging software code | |
Gunarathne | Hadoop MapReduce v2 Cookbook | |
US11089000B1 (en) | Automated source code log generation | |
US10592304B2 (en) | Suggesting application programming interfaces based on feature and context analysis | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
CN109582347B (zh) | 一种获取前端代码的方法及装置 | |
CN111309586A (zh) | 一种命令测试方法、装置及其存储介质 | |
US11847120B2 (en) | Performance of SQL execution sequence in production database instance | |
CN110941547A (zh) | 自动化测试用例库管理方法、装置、介质及电子设备 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN111240987A (zh) | 移植程序检测方法、装置、电子设备及计算机可读存储介质 | |
US20190317877A1 (en) | Application state monitoring | |
US11409769B2 (en) | Computer-implemented method and system for attribute discovery for operation objects from operation data | |
CN115167822A (zh) | 分支代码合并方法、装置、设备和存储介质 | |
US11256602B2 (en) | Source code file retrieval | |
CN110119351B (zh) | 一种测试用例执行方法及装置 | |
Doglio | Mastering Python High Performance | |
US11853750B2 (en) | Subject matter expert identification and code analysis based on a probabilistic filter | |
CN116483735B (zh) | 一种代码变更的影响分析方法、装置、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |