本申请公开了一种应用管理方法、装置、设备及存储介质,涉及计算机技术领域,包括:监听全部子应用的路由变化,以得到变化后路由信息;基于所述变化后路由信息匹配目标子应用,并对所述目标子应用执行预设初始化操作,以得到初始化后子应用;将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件;将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,并在所述目标依赖下载成功后渲染对应的所述初始化后子应用。本申请通过目标框架将子应用的目标文件发送至浏览器,以便浏览器渲染所述子应用,减少了负载并简化了开发流程,提升了处理效率。提升了处理效率。提升了处理效率。
【技术实现步骤摘要】
一种应用管理方法、装置、设备及存储介质
[0001]本专利技术涉及计算机
,特别涉及一种应用管理方法、装置、设备及存储介质。
技术介绍
[0002]微前端(Micro
‑
Frontends)是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将Web应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立运行、独立开发、独立部署。在当下前端领域,单页面应用(SPA)是非常流行的项目形态之一,随着时间的推移以及应用功能的丰富,单页应用变得不再单一而是越来越庞大也越来越难以维护,往往是改一处而动全身,由此带来的发版成本也越来越高。微前端的意义就是将这些庞大应用进行拆分,并随之解耦,每个部分可以单独进行维护和部署,提升效率。在现有的tms项目中,存在大量重复繁琐且不必要的老旧代码,这给程序开发者带来了许多不便,同时相关老旧的技术和依赖包也给用户带来了不好的体验,并且在大型项目中无法一步到位的将现有项目全部替换,这样会给项目增加更多的风险和成本。
技术实现思路
[0003]有鉴于此,本专利技术的目的在于提供一种应用管理方法、装置、设备和存储介质,能够减少负载并简化开发流程,提升处理效率。其具体方案如下:
[0004]第一方面,本申请公开了一种应用管理方法,包括:
[0005]监听全部子应用的路由变化,以得到变化后路由信息;
[0006]基于所述变化后路由信息匹配目标子应用,并对所述目标子应用执行预设初始化操作,以得到初始化后子应用;
[0007]将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件;
[0008]将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,并在所述目标依赖下载成功后渲染对应的所述初始化后子应用。
[0009]可选的,所述将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件,包括:
[0010]通过所述目标框架提供的APIregisterwicroApps方法将所述初始化后子应用注册至所述目标框架;
[0011]或,通过所述目标框架调用single
‑
spa提供的registerApplications方法将所述初始化后子应用注册至所述目标框架;
[0012]通过所述目标框架的预设文件获取接口获取所述初始化后子应用的html文件。
[0013]可选的,所述通过所述目标框架的预设文件获取接口获取所述初始化后子应用的html文件,包括:
[0014]生成用于获取所述初始化后子应用的所述html文件的文件获取请求;
[0015]将所述文件获取请求发送至所述初始化后子应用的文件存储地址,以便通过所述目标框架的所述预设文件获取接口获取对应的所述html文件。
[0016]可选的,所述将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,包括:
[0017]将所述html文件发送至浏览器,以便所述浏览器通过预设html解析器解析所述html文件得到所述目标依赖;所述目标依赖包含js依赖与css依赖。
[0018]可选的,所述将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖之后,还包括:
[0019]获取存储在插件文件中的与所述目标文件对应的目标参数;所述目标参数包含url参数与opt参数;
[0020]若所述opt参数为函数,则利用所述函数替换默认依赖下载方法,以得到更改后下载方法,并利用所述更改后下载方法下载所述目标依赖;
[0021]若所述opt参数为对象,则判断所述浏览器中是否存在与所述目标依赖对应的缓存信息;
[0022]若不存在与所述目标依赖对应的所述缓存信息,则通过所述默认依赖下载方法下载所述目标依赖;
[0023]相应的,所述在所述目标依赖下载成功后渲染对应的所述初始化后子应用,包括:
[0024]在通过所述默认依赖下载方法下载所述目标依赖后,将所述目标依赖转换为对应的目标字符串;
[0025]通过预设解析方法解析所述html文件,并将得到外联脚本以及外联样式存储至对应的所述目标字符串;
[0026]下载所述外联样式,并利用所述外联样式替换所述html文件中对应的样式信息,以得到替换后html文件;
[0027]基于所述替换后html文件渲染对应的所述初始化后子应用。
[0028]可选的,所述对所述目标子应用执行预设初始化操作,以得到初始化后子应用,包括:
[0029]调用loadApp方法加载所述目标子应用的资源,并初始化所述目标子应用的配置,以得到初始化后子应用;
[0030]当主应用开始初始化加载时,生成与所述初始化后子应用对应的render沙箱;其中,将接入所述目标框架之前的原有应用确定为所述主应用,将接入所述目标框架之后的现有应用确定为所述子应用。
[0031]可选的,所述基于所述变化后路由信息匹配目标子应用之后,还包括:
[0032]通过所述目标框架创建包含通信变量和预设方法集合的globalState对象;所述预设方法集合包含用于修改变量值的setGlobalState方法以及用于监听变量变化的onGlobalStateChange方法;
[0033]在所述主应用中初始化所述globalState对象,以得到初始化后globalState对象;
[0034]通过预设通道将所述初始化后globalState对象传递至所述目标子应用,以便所
述目标子应用通过解析所述初始化后globalState对象得到预设监听语句,并通过所述预设监听语句监听全局状态变化信息。
[0035]第二方面,本申请公开了一种应用管理装置,包括:
[0036]路由监听模块,用于监听全部子应用的路由变化,以得到变化后路由信息;
[0037]子应用初始化模块,用于基于所述变化后路由信息匹配目标子应用,并对所述目标子应用执行预设初始化操作,以得到初始化后子应用;
[0038]文件获取模块,用于将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件;
[0039]子应用渲染模块,用于将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,并在所述目标依赖下载成功后渲染对应的所述初始化后子应用。
[0040]第三方面,本申请公开了一种电子设备,包括:
[0041]存储器,用于保存计算机程序;
[0042]处理器,用于执行所述计算机程序,以实现如前述公开的应用管理方法的步骤。
[0043]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的应用管理方法。
[0044]可见,本申请提供了一种应用管本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种应用管理方法,其特征在于,包括:监听全部子应用的路由变化,以得到变化后路由信息;基于所述变化后路由信息匹配目标子应用,并对所述目标子应用执行预设初始化操作,以得到初始化后子应用;将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件;将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,并在所述目标依赖下载成功后渲染对应的所述初始化后子应用。2.根据权利要求1所述的应用管理方法,其特征在于,所述将所述初始化后子应用注册至目标框架,以便通过所述目标框架获取所述初始化后子应用的目标文件,包括:通过所述目标框架提供的APIregisterwicroApps方法将所述初始化后子应用注册至所述目标框架;或,通过所述目标框架调用single
‑
spa提供的registerApplications方法将所述初始化后子应用注册至所述目标框架;通过所述目标框架的预设文件获取接口获取所述初始化后子应用的html文件。3.根据权利要求2所述的应用管理方法,其特征在于,所述通过所述目标框架的预设文件获取接口获取所述初始化后子应用的html文件,包括:生成用于获取所述初始化后子应用的所述html文件的文件获取请求;将所述文件获取请求发送至所述初始化后子应用的文件存储地址,以便通过所述目标框架的所述预设文件获取接口获取对应的所述html文件。4.根据权利要求3所述的应用管理方法,其特征在于,所述将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖,包括:将所述html文件发送至浏览器,以便所述浏览器通过预设html解析器解析所述html文件得到所述目标依赖;所述目标依赖包含js依赖与css依赖。5.根据权利要求4所述的应用管理方法,其特征在于,所述将所述目标文件发送至浏览器,以便所述浏览器从所述目标文件中解析得到目标依赖之后,还包括:获取存储在插件文件中的与所述目标文件对应的目标参数;所述目标参数包含url参数与opt参数;若所述opt参数为函数,则利用所述函数替换默认依赖下载方法,以得到更改后下载方法,并利用所述更改后下载方法下载所述目标依赖;若所述opt参数为对象,则判断所述浏览器中是否存在与所述目标依赖对应的缓存信息;若不存在与所述目标依赖对应的所述缓存信息,则通过所述默认依赖下载方法下载所述目标依赖;相应的,所述在所述目标依赖下载成功后渲染对应的所述初始化后子应用,包括:在通过所述默认依赖下载方法下...
【专利技术属性】
技术研发人员:袁厚玲,
申请(专利权)人:招银云创信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。