基于应用市场的微前端架构系统、开发方法、设备和介质技术方案

技术编号:36979085 阅读:35 留言:0更新日期:2023-03-25 17:58
本公开涉及基于应用市场的微前端架构系统、开发方法、设备和介质,所述微前端架构系统包括微应用管理模块、微功能管理模块、应用市场管理模块和微应用配置管理模块;所述微应用管理模块用于从应用市场查找并获取微应用,安装在微前端平台中;所述微功能管理模块用于从应用市场查找并获取微功能,安装在微前端平台中;所述应用市场管理模块用于管理应用市场链接信息,存储微应用和微功能的发布包,实现从应用市场检索、下载微应用和微功能;所述微应用配置管理模块用于读取并解析微应用配置信息,聚合管理所有微应用的配置信息,为主应用提供微前端平台的微应用配置信息。本公开的主应用、微应用和微功能都可以独立开发,提升协作开发能力。作开发能力。作开发能力。

【技术实现步骤摘要】
基于应用市场的微前端架构系统、开发方法、设备和介质


[0001]本公开涉及前端开发领域,具体涉及基于应用市场的微前端架构系统、开发方法、设备和介质。

技术介绍

[0002]随着互联网的发展,应用复杂多变,通过微服务,将大型应用拆解成多个拥有独立职责的服务组件,在微服务架构下,按需扩展众多业务服务组件,业务服务组件项目协作,完成大型项目架构,并使整个架构具有良好的扩展能力,让复杂的业务系统简单化,使系统具有更好的可维护性。而前端领域相对微服务领域的发展,显得有些跟不上步伐,目前大多架构还是针对后端所有业务前后端分离的大单体应用,随着业务量的不断增加,前端项目将会演变的越来越大,不同业务模块的开发人员都聚焦在大单体应用,协作开发容易产生冲突,代码维护困难,难以扩展,构建时间越来越长,构建时希望部署某个模块,但很容易引入其他团队开发的内容,导致引入一些未知问题和风险。

技术实现思路

[0003]本公开提供基于应用市场的微前端架构系统、开发方法、设备和介质,能够解决前端项目体积越来越大,项目协作开发维护困难,难以扩展,构建时间长,变更范围难以界定等一系列问题。本公开提供以下技术方案来解决上述技术问题:
[0004]作为本公开实施例的一个方面,提供基于应用市场的微前端架构系统,应用于微前端管理平台,所述微前端架构系统包括微应用管理模块、微功能管理模块、应用市场管理模块和微应用配置管理模块;
[0005]所述微应用管理模块用于从应用市场查找并获取微应用,安装在微前端平台中;
[0006]所述微功能管理模块用于从应用市场查找并获取微功能,安装在微前端平台中;
[0007]所述应用市场管理模块用于管理应用市场链接信息,存储微应用和微功能的发布包,实现从应用市场检索、下载微应用和微功能;
[0008]所述微应用配置管理模块用于读取并解析微应用配置信息,聚合管理所有微应用的配置信息,为主应用提供微前端平台的微应用配置信息,所述微应用配置信息用于动态配置应用的配置,根据不同的业务需求配置微应用,在不修改微应用代码的情况下,改变配置信息。
[0009]较佳地,所述微应用管理模块还用于:在安装过程中,检查微应用依赖的其他应用的是否安装、版本是否匹配;
[0010]和/或,管理微应用版本,实现微应用在线版本升级和版本回滚;
[0011]和/或,管理微应用上线和下线。
[0012]较佳地,所述微功能管理模块用于:管理微功能版本,实现微功能在线版本升级和版本回滚;
[0013]和/或,管理微应用上线和下线。
[0014]较佳地,所述应用市场管理模块用于为微前端平台提供应用安装信息和应用配置信息。
[0015]较佳地,所述主应用、微应用和微功能均为独立的发布包。
[0016]作为本公开实施例的另一个方面,提供基于应用市场的微前端架构开发方法,用于开发上述的系统,包括如下步骤:
[0017]应用市场管理模块管理应用市场链接信息,存储微应用和微功能的发布包;
[0018]从应用市场查找并获取微应用和/或微功能的发布包,解压所述发布包并使得主应用可访问到;
[0019]读取并解析微应用和/或微功能的配置信息,为主应用提供微前端平台的微应用配置信息,所述微应用配置信息用于动态配置应用的配置,根据不同的业务需求配置微应用,在不修改微应用代码的情况下,改变配置信息。
[0020]较佳地,所述配置信息包括元数据配置信息及应用配置信息;
[0021]和/或,解压所述发布包并使得主应用可访问到,还包括如下步骤:应用市场管理模块将发布包解压在Web服务所提供的可访问目录中,使主应用通过http请求访问到。
[0022]作为本公开实施例的另一个方面,提供了基于应用市场的微前端架构系统,应用于微前端主应用,所述微前端架构系统包括微应用生命周期模块、微应用注册模块和路由管理分发模块;
[0023]所述微应用生命周期模块中的生命周期包括微应用注册、微应用初始化前执行、微应用初始化、微应用初始化完成执行和微应用卸载五个阶段;
[0024]所述微应用注册模块用于定义微应用包含的微功能信息、微应用依赖管理和生命周期阶段,在所有微应用提交注册信息后,依次在微应用初始化前执行、微应用初始化、微应用初始化完成执行三个阶段,按照微应用依赖关系梳理好的执行顺序,当所有微应用执行完一个阶段后,再进入到下一个阶段,直到所述三个阶段全部执行完成;
[0025]路由管理分发模块,用于将微应用生命周期的五个阶段内的操作路由到相应的存储目录中。
[0026]作为本公开实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于应用市场的微前端架构开发方法的步骤。
[0027]作为本公开实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于应用市场的微前端架构开发方法。
[0028]相对于现有技术,本公开的有益效果为:按照一个主应用和多个微应用的方式将大单体前端应用拆分成多个独立的应用,每个应用可以按照不同业务范围拆分成独立的微功能包,多个功能组成一个独立的微应用,多个微应用在主应用的协调下组成一个完整的业务系统。本公开中的主应用、微应用和微功能都可以独立开发,提升协作开发能力,降低团队间的干扰;独立构建,降低构建内容耦合性,提升构建速度;独立安装部署,提升部署灵活性,避免应用部署引入未知问题和风险。
附图说明
[0029]图1为本公开实施例1中的基于应用市场的微前端架构系统的架构示意图;
[0030]图2为本公开实施例1中的主应用、微应用、微功能的NPM包分组划分的示意图;
[0031]图3为本公开实施例1中的主应用、微应用、微功能的在NodeJS Web服务中的存放目录示意图;
[0032]图4为本公开实施例3中的微应用生命周期示意图。
具体实施方式
[0033]以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0034]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0035]本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0036]另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于应用市场的微前端架构系统,应用于微前端管理平台,其特征在于,所述微前端架构系统包括微应用管理模块、微功能管理模块、应用市场管理模块和微应用配置管理模块;所述微应用管理模块用于从应用市场查找并获取微应用,安装在微前端平台中;所述微功能管理模块用于从应用市场查找并获取微功能,安装在微前端平台中;所述应用市场管理模块用于管理应用市场链接信息,存储微应用和微功能的发布包,实现从应用市场检索、下载微应用和微功能;所述微应用配置管理模块用于读取并解析微应用配置信息,聚合管理所有微应用的配置信息,为主应用提供微前端平台的微应用配置信息,所述微应用配置信息用于动态配置应用的配置,根据不同的业务需求配置微应用,在不修改微应用代码的情况下,改变配置信息。2.如权利要求1所述的应用市场的微前端架构系统,其特征在于,所述微应用管理模块还用于:在安装过程中,检查微应用依赖的其他应用的是否安装、版本是否匹配;和/或,管理微应用版本,实现微应用在线版本升级和版本回滚;和/或,管理微应用上线和下线。3.如权利要求1所述的应用市场的微前端架构系统,其特征在于,所述微功能管理模块用于:管理微功能版本,实现微功能在线版本升级和版本回滚;和/或,管理微应用上线和下线。4.如权利要求1

3任一项所述的应用市场的微前端架构系统,其特征在于,所述应用市场管理模块用于为微前端平台提供应用安装信息和应用配置信息。5.如权利要求1

3任一项所述的应用市场的微前端架构系统,其特征在于,所述主应用、微应用和微功能均为独立的发布包。6.基于应用市场的微前端架构开发方法,用于开发如权利要求1

5任一项所述的系统,其特征在于,包括如下步骤:应用市场管理模块管理应用市场链接信息,存储微应用和微功能的...

【专利技术属性】
技术研发人员:吕凤民李世康刘涛王钢旗
申请(专利权)人:上海易立德信息技术股份有限公司
类型:发明
国别省市:

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

1