一种业务模块整合方法、装置和存储介质制造方法及图纸

技术编号:37143325 阅读:21 留言:0更新日期:2023-04-06 21:52
本申请实施例提供一种业务模块整合方法、装置和存储介质。本申请实施例提供的方法包括:从配置平台中获取应用程序包括的多个业务模块的目录信息和配置信息;根据所述多个业务模块中每个业务模块的功能,将所述多个业务模块分别整合成多个包管理器npm包,其中,每个npm包包括所述npm包对应业务模块的配置信息;将所述多个业务模块的目录信息写入初始壳工程中,所述目录信息中每一条记录在所述初始壳工程中对应一个独立仓库;根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程。采用本申请实施例能够实现同一应用程序中的不同业务模块的解耦,避免修改后的代码与其他业务模块的代码冲突。后的代码与其他业务模块的代码冲突。后的代码与其他业务模块的代码冲突。

【技术实现步骤摘要】
一种业务模块整合方法、装置和存储介质


[0001]本申请涉及计算机
,尤其涉及一种业务模块整合方法、装置和存储介质。

技术介绍

[0002]随着互联网技术的不断发展,越来越多的企业开发出进行线上业务处理的应用程序。随着企业规模逐渐增大,业务类型逐渐增多,应用程序包括的业务模块也越来越多。
[0003]但在实际应用中,不同的业务模块通常由不同的企业部门进行开发,在对单个业务模块件进行更新时,需要对整个应用程序进行编译和测试,而传统的开发方式导致在同一应用程序中的不同业务模块之间存在高耦合度。
[0004]因此,若开发人员对属于自己部门的业务模块的代码进行修改时,可能存在修改后的代码与其他业务模块的代码冲突的问题。

技术实现思路

[0005]本申请实施例提供一种业务模块整合方法、装置和存储介质,能够实现同一应用程序中的不同业务模块的解耦,避免修改后的代码与其他业务模块的代码冲突。
[0006]第一方面,本申请实施例提供了一种业务模块整合方法,所述方法包括:
[0007]从配置平台中获取应用程序包括的多个业务模块的目录信息和配置信息,所述目录信息包括所述多个业务模块的名称和所述多个业务模块的版本号;
[0008]根据所述多个业务模块中每个业务模块的功能,将所述多个业务模块分别整合成多个包管理器npm(Node Package ManagerNodejs,包管理器)包,其中,每个npm包包括所述npm包对应业务模块的配置信息;
[0009]将所述多个业务模块的目录信息写入初始壳工程中,所述目录信息中每一条记录在所述初始壳工程中对应一个独立仓库;
[0010]根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程。
[0011]本方法舍弃了传统的开发方式中将业务模块进行纯源码打包的方式,使用了壳工程作为业务模块的框架以及支持应用程序的主页,通过将不同的业务模块的源码和配置文件打成npm包,并分别部署在所述壳工程中的不同的独立仓库中,实现了同一应用程序中的不同业务模块的解耦,某一个业务模块的部门仅需对属于自己部门的业务模块的负责,无需担心修改属于自己部门的业务模块的代码会引起与其他业务模块的代码之间的冲突,且由于壳工程仅是整个业务模块的框架,代码量很少,以及业务模块之间是解耦的,所以开发人员在进行测试时,仅需运行属于自己部门的业务模块的代码即可。
[0012]具体的,首先从配置平台中获取需要整合的应用程序中的多个业务模块的目录信息和配置信息,其中,所述目录信息需要写入初始壳工程中,可以理解的是,所述目录信息包括多个业务模块的简单信息,如名称、版本号等,将所述目录信息需要写入初始壳工程后,即可得到目标壳工程,所述初始壳工程是支持上述的业务模块的框架和应用程序的主
页实现的基础,所述初始壳工程在录入目录信息后才存在获取所述多个业务模块的npm包的基础;根据所述多个业务模块的目录信息获取所述多个npm包,所述多个npm包分属于各个业务模块,每个业务模块均对应一个npm包,所述npm包中包含了对应的业务模块的源码和配置信息,所述配置信息可以是在壳工程获取npm包之后自行将其加入的,也可以是npm包自带的。
[0013]所述npm包中的源码可以是来自于云端的,也可以是来自部门内部的私仓库的,所述目标壳工程根据业务模块的名称和版本号去获取到对应的业务模块和版本号的npm包之后,将其复制到所述目标壳工程目录下的独立仓库中,每个业务模块的npm包分别存放在对应的独立仓库中,以此实现了业务模块的代码隔离,值得说明的是,所述业务模块的代码包括所述业务模块的源码和配置信息,所述初始壳工程在将所述多个npm包存入独立仓库后,即得到了所述目标壳工程,至此,所述目标壳工程可以视为未被编译的应用程序;若所述应用程序制成之后,所述业务模块需要进行更新,则将所述目标壳工程中对应业务模块的版本号进行修改,所述目标壳工程即可从云端或私仓库中获取对应版本的npm包,并放置到对应的独立仓库中,避免修改后的代码与其他业务模块的代码冲突。
[0014]在第一方面的又一种可能的实施方式中,所述将所述多个业务模块的目录信息写入初始壳工程中,包括:
[0015]根据所述多个业务模块的名称生成对应的多个独立仓库;
[0016]将所述多个业务模块的目录信息写入所述初始壳工程中,使所述多个业务模块的目录信息中的多条记录与所述多个独立仓库分别进行对应。
[0017]具体的,将所述多个业务模块的目录信息写入初始壳工程后,会根据所述目录信息生成对应的多个独立仓库,但仅有所述初始壳工程中独立仓库填入所述多个业务模块的npm包才会成为目标壳工程,所述多个独立仓库用于存放对应的业务模块的npm包,实现不同业务模块之间的代码隔离。
[0018]在第一方面的又一种可能的实施方式中,所述根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程,包括:
[0019]根据别名转换规则对每个npm包中包括的配置信息和源码进行别名转换,得到每个npm包对应的新的npm包,其中,各个npm包对应的新的npm包之间别名不同;
[0020]将每个npm包对应的新的npm包的配置信息和源码中的路由信息,注册到所述目标壳工程的路由配置中,以用于所述目标壳工程通过所述路由信息访问所述新的npm包。
[0021]具体的,将所述多个npm包分别存放于所述多个独立仓库的过程中,需要对所述npm包中的源码和配置信息进行适应性的调整;首先,所述适应性的调整包括别名转换和路由注册,所述适应性的调整可以是根据AST语法树进行的,也可以是手动进行的。
[0022]其次,所述别名转换需要将所有业务模块的源码和配置信息进行别名转换,同一业务模块的源码和配置信息得到的别名是相同的,但是每个业务模块的源码和配置信息得到的别名是互不相同的,以使应用程序在运行时所述多个业务模块的代码互不冲突;因为不同业务模块之间的代码是隔离开的,在所述多个业务模块之间、所述目标壳工程和所述业务模块之间没有依赖存在,所以想要实现应用程序运行时的页面跳转,需要将别名转换后的新的npm包中的路由信息根据页面跳转需求进行注册,可以理解的是,实现应用程序的主页到业务模块的页面的跳转,需要将将每个npm包对应的新的npm包的配置信息和源码中
的路由信息,注册到所述目标壳工程的路由配置中,以用于所述目标壳工程通过所述路由信息访问所述新的npm包,如此设置,可在代码隔离的情况下,进行主页面到多个业务模块对应页面的跳转或访问。
[0023]在第一方面的又一种可能的实施方式中,所述根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程之后,还包括:
[0024]对所述目标壳工程进行编译,并打成整包发布。
[0025]具体的,在将所述多个npm包分别对应存入所述目标壳工程中的多个独立仓库之后,所述多个业务模块对应的应用程序已基本完成,再对所述目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务模块整合方法,其特征在于,包括:从配置平台中获取应用程序包括的多个业务模块的目录信息和配置信息,所述目录信息包括所述多个业务模块的名称和所述多个业务模块的版本号;根据所述多个业务模块中每个业务模块的功能,将所述多个业务模块分别整合成多个包管理器npm包,其中,每个npm包包括所述npm包对应业务模块的配置信息;将所述多个业务模块的目录信息写入初始壳工程中,所述目录信息中每一条记录在所述初始壳工程中对应一个独立仓库;根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程。2.根据权利要求1所述的方法,其特征在于,所述将所述多个业务模块的目录信息写入初始壳工程中,包括:根据所述多个业务模块的名称生成对应的多个独立仓库;将所述多个业务模块的目录信息写入所述初始壳工程中,使所述多个业务模块的目录信息中的多条记录与所述多个独立仓库分别进行对应。3.根据权利要求1所述的方法,其特征在于,所述根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程,包括:根据别名转换规则对每个npm包中包括的配置信息和源码进行别名转换,得到每个npm包对应的新的npm包,其中,各个npm包对应的新的npm包之间别名不同;将每个npm包对应的新的npm包的配置信息和源码中的路由信息,注册到所述目标壳工程的路由配置中,以用于所述目标壳工程通过所述路由信息访问所述新的npm包。4.根据权利要求1所述的方法,其特征在于,所述根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程之后,还包括:对所述目标壳工程进行编译,并打成整包发布。5.根据权利要求1

3任一项所述的方法,其特征在于,所述根据所述目录信息将所述多个npm包分别对应存入多个独立仓库,以得到目标壳工程之后,还包括:发布目标业务模块的最新的npm包,所述目标业务模块为一个或多个业务模块;将所述最新的npm包替代所述目标壳工程中所...

【专利技术属性】
技术研发人员:温洋谢雄彪邓文强纳颖泉
申请(专利权)人:招联消费金融有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1