CN115794253A - 应用集成方法、装置、电子设备及计算机可读存储介质 - Google Patents
应用集成方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115794253A CN115794253A CN202211477700.0A CN202211477700A CN115794253A CN 115794253 A CN115794253 A CN 115794253A CN 202211477700 A CN202211477700 A CN 202211477700A CN 115794253 A CN115794253 A CN 115794253A
- Authority
- CN
- China
- Prior art keywords
- application
- sub
- main
- plug
- integrated
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种应用集成方法、装置、电子设备及计算机可读存储介质,该方法包括:针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对待集成主应用的主插件;确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件;根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入所述微前端依赖库;根据微前端依赖库在主插件和子插件中分别配置相应的运行环境信息;根据运行环境信息,在主插件中建立对子插件的引用;将主插件上传至待集成主应用的依赖库,将子插件上传至待集成子应用的依赖库,得到集成后主应用。分别构建插件,实现应用的快速集成。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种应用集成方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,前端项目可以通过前端构建工具(如Webpack、vue等)快速搭建前端项目框架。而随着项目的迭代升级,业务需求的增加,以及技术的不断更新,维护老代码或者在旧项目上对新增业务需求的开发也会变得繁重和复杂。
微前端(如qiankun)框架应用于浏览器端,即将页面(Web)应用由单一的单体应用转变为多个小型前端应用聚合为一的应用,各个前端应用还可以独立运行、独立开发、独立部署。基于微前端框架可解决新旧开发造成的业务需求繁重和复杂的问题。
但是,使用微前端框架接入项目时,需要做好浏览器兼容配置、相关参数配置、环境配置等事项,造成子应用在集成或者接入到主应用时存在操作复杂,对操作能力要求较高的问题。
发明内容
本申请实施例提供一种应用集成方法、装置、电子设备及计算机可读存储介质,可以提升应用的集成效率,加快应用或者项目的开发进度。
第一方面,本申请实施例提供了一种应用集成方法,应用于电子设备,包括:
针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件;
确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件;
根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库;
根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息;
根据所述运行环境信息,在所述主插件中建立对所述子插件的引用;
将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
第二方面,本申请实施例还提供了一种应用集成装置,包括:
主插件搭建模块,用于针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件;
子插件搭建模块,用于确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件;
引入模块,用于根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库;
配置模块,用于根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息;
引用模块,用于根据所述运行环境信息,在所述主插件中建立对所述子插件的引用;
集成模块,用于将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
其中,在本申请的一些实施例中,该装置还包括应用模块,应用模块包括:
生成单元,用于根据所述主插件在所述集成后主应用中生成子应用标识字符串;
变换单元,用于根据所述子应用标识字符串对所述待集成子应用的名称进行变换,得到变换后子应用名称,所述变换后子应用名称包含所述子应用标识字符串;
应用单元,用于根据所述变换后子应用名称、所述主插件和所述子插件,建立所述待集成主应用对所述待集成子应用的检索和加载。
其中,在本申请的一些实施例中,引入模块包括:
安装单元,用于通过安装命令分别在所述主插件和所述子插件中安装微前端的依赖库;
配置单元,用于并按照微前端的配置文档对所述主插件和所述子插件进行配置。
其中,在本申请的一些实施例中,引用模块包括:
第一确定单元,用于确定不同用户的访问权限,所述访问权限描述所述用户对所述待集成子应用的访问情况;
第一引用单元,用于根据所述访问权限和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请的一些实施例中,引用模块包括:
第二确定单元,用于确定不同用户的身份等级,所述身份等级描述所述待集成子应用在所述待集成主应用的界面的显示情况;
第二引用单元,用于根据所述身份等级和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请的一些实施例中,该装置还包括响应模块,响应模块包括:
图标生成单元,用于当启动所述集成后主应用后,在所述集成后主应用的预设位置生成针对所述待集成子应用的应用图标;
响应单元,用于响应于针对所述应用图标的触碰操作,加载所述待集成子应用。
其中,在本申请的一些实施例中,微前端依赖库包括乾坤依赖库,所述运行环境信息包括浏览器兼容配置信息、环境文件配置信息、打包规则配置信息、应用容器配置信息、通信配置信息中的至少一种。
第三方面,本申请实施例还提供了一种电子设备,电子设备包括存储器、处理器及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的应用集成方法中的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的应用集成方法中的步骤。
其中,本申请实施例针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对所述待集成主应用的主插件,确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件,根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入微前端依赖库以及分别配置相应的运行环境信息,根据所述运行环境信息,在主插件中建立对子插件的引用,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。其中,通过建立插件并通过插件实现对应用运行环境的配置,实现利用插件将子应用集成到主应用中,实现应用的集成开发,其中,通过针对主应用和子应用分别构建插件,在利用插件分别配置主应用的运行环境和子应用的运行环境后,可以通过插件之间的引用,直接建立子应用在主应用中的集成,因此,通过分别构建插件,可实现应用的快速集成。其中,微前端依赖库的引入,也为应用通过多个子应用的开发提供实现基础。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的应用集成方法的场景示意图;
图2是本申请实施例提供的应用集成方法的流程示意图;
图3是本申请实施例提供的应用集成方法中配置主插件的流程示意图;
图4是本申请实施例提供的应用集成方法中配置子插件的流程示意图;
图5是本申请实施例提供的应用集成装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种应用集成方法、装置、电子设备及计算机可读存储介质。具体地,本申请实施例提供适用于电子设备的应用集成装置,其中,电子设备包括终端设备或者服务器,其中,终端设备可以为计算机、台式机或者手机等设备,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接。
其中,在本申请实施例中,可以由终端设备单独执行该应用集成方法,或者由服务器单独执行该应用集成方法,或者由终端设备和服务器共同执行该应用集成方法。其中,请参阅图1,以终端设备和服务器共同执行应用集成方法为例,其中,应用集成方法的具体执行过程如下:
基于应用开发需求,在终端设备10上启动应用集成命令,并将该应用集成命令发送给服务器11,由服务器11执行相应的应用集成操作;
其中,服务器11在接收到应用集成命令后,服务器11针对其部署的待集成主应用,申请该待集成主应用的主前端资源,并根据该主前端资源搭建针对该待集成主应用的主插件,以及在该主插件中引入微前端依赖库以及相应的运行环境信息;
同样的,服务器11针对其部署的待集成子应用,申请该待集成子应用的子前端资源,并根据该子前端资源搭建针对该待集成子应用的子插件,以及在该子插件中引入微前端依赖库以及相应的运行环境信息;
随后,服务器11根据运行环境信息,在主插件中建立对子插件的引用,然后,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,实现建立待集成应用对该主插件的引用,得到集成后主应用。
其中,响应于终端设备10的加载需求,在终端设备10上记载该集成后主应用,使得集成后主应用搭载在终端设备10上。
其中,在本申请实施例中,微前端依赖库包括乾坤(qiankun)依赖库。
其中,本申请实施例针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对所述待集成主应用的主插件,确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件,根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入微前端依赖库以及分别配置相应的运行环境信息,根据所述运行环境信息,在主插件中建立对子插件的引用,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。其中,通过建立插件并通过插件实现对应用运行环境的配置,实现利用插件将子应用集成到主应用中,实现应用的集成开发,其中,通过针对主应用和子应用分别构建插件,在利用插件分别配置主应用的运行环境和子应用的运行环境后,可以通过插件之间的引用,直接建立子应用在主应用中的集成,因此,通过分别构建插件,可实现应用的快速集成。其中,微前端依赖库的引入,也为应用通过多个子应用的开发提供实现基础。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
请参阅图2,图2为本申请实施例提供的应用集成方法的流程示意图。该应用集成方法应用于电子设备,其中,该应用集成方法的具体流程可以如下:
101、针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件。
其中,在本申请实施例中,待集成主应用是具备一定功能的应用,该待集成主应用可以是独立的应用,也可以是期望应用的一部分(包含部分功能的应用),该待集成主应用通过集成相应的子应用,实现对期望应用的开发集成。
其中,随着应用的迭代升级,业务需求的增加以及技术的不断更新,应用需要在原有基础上做出功能新增或者拓展,相应的,原有基础的应用即可理解为待集成主应用,而功能新增或者拓展部分的应用则可以理解为待集成子应用。
其中,在本申请实施例中,主前端资源是针对待集成主应用的前端资源,其中,该前端资源是指一个单页面Web APP在顺利执行时所需要的最小集合,通常为javaScript源文件、CSS源文件、vue文件或者Webpack文件等。
其中,在应用程序等软件开发过程中,开发人员分为前端开发人员和后台开发人员。前端开发人员用于开发用户界面(User Interface,UI),后台开发人员用于开发UI调用层,供前端调用。在实际应用过程中,前端开发人员将前端资源存储至数据库,服务器在向用户提供UI时,可从数据库中获取前端资源提供给用户的终端设备,由终端设备基于前端资源渲染UI;或者服务端设备获取前端资源,并基于前端资源渲染UI,将渲染好的UI提供给终端设备。
其中,在本申请实施例中,主插件是待集成主应用对应的插件,该插件是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用原纯净系统提供的函数库或者数据。
其中,在本申请实施例中,通过待集成主应用对应的主前端资源搭建主插件,使得主插件能够适配待集成主应用,且能够被待集成主应用调用等。其中,在本申请实施例中,主插件的搭建,也为子应用在主应用中的集成提供桥梁。
102、确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件。
其中,在本申请实施例中,待集成子应用是具备一定功能的应用,该待集成子应用可以是独立的应用,也可以是期望应用的一部分(包含部分功能的应用),该待集成子应用通过集成到相应的主应用中,实现对期望应用的开发集成。
例如,随着应用的迭代升级,业务需求的增加以及技术的不断更新,应用需要在原有基础上做出功能新增或者拓展,相应的,原有基础的应用即可理解为待集成主应用,而功能新增或者拓展部分的应用则可以理解为待集成子应用。通过将待集成子应用集成到待集成主应用中,实现在原有主应用的集成上,拓展新增得到相应的期望应用。
其中,在本申请实施例中,子前端资源是针对待集成子应用的前端资源,其中,该前端资源是指一个单页面Web APP在顺利执行时所需要的最小集合,通常为javaScript源文件、CSS源文件、vue文件或者Webpack文件等。
其中,在本申请实施例中,子插件是待集成子应用对应的插件,该插件是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用原纯净系统提供的函数库或者数据。
其中,在本申请实施例中,通过待集成子应用对应的子前端资源搭建子插件,使得子插件能够适配待集成子应用,且能够被待集成子应用调用等。其中,在本申请实施例中,子插件的搭建,也为子应用在主应用中的集成提供桥梁。
103、根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入微前端依赖库。
其中,在本申请实施例中,微前端依赖库是针对微前端的依赖库,该微前端包括乾坤(qiankun),则微前端依赖库可以包括乾坤依赖库。
其中,通过引入微前端依赖库,为多个子应用的集成开发提供实现基础,实现通过多个子应用的集成开发完成对期望应用的整体开发。
104、根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息。
其中,在本申请实施例中,运行环境信息包括插件在应用中的运行环境相关的信息,例如,运行环境信息可以包括浏览器兼容配置信息、环境文件配置信息、打包规则配置信息、应用容器配置信息或者通信配置信息中的至少一种。
其中,通过引入相关的运行环境信息,为插件的运行提供环境基础,便于插件被相关应用加载。
105、根据所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请实施例中,运行环境包括路由和子插件名称等信息,路由指插件的路径,使用在应用中的组件跳转,相当于多页面的a标签。
其中,通过建立主插件对子插件的引用,在主插件被加载后,可实现对相应的子插件的加载,进而实现对相应的子应用的加载,实现主应用对子应用的调用。
106、将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
其中,将插件上传至相应应用的依赖库后,可实现相应应用对该插件的引用,通过建立待集成主应用对主插件的应用,可通过待集成主应用调用主插件,进而通过主插件调用子插件以及通过子插件调用相应的子应用,实现主应用对子应用的调用。
其中,在本申请实施例中,还可以根据主插件的调用需求,对子应用的名称进行调整,以便于主应用对子应用的调用,即,可选的,在本申请的一些实施例中,步骤“将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用”之后,该方法还包括:
根据所述主插件在所述集成后主应用中生成子应用标识字符串;
根据所述子应用标识字符串对所述待集成子应用的名称进行变换,得到变换后子应用名称,所述变换后子应用名称包含所述子应用标识字符串;
根据所述变换后子应用名称、所述主插件和所述子插件,建立所述待集成主应用对所述待集成子应用的检索和加载。
其中,在本申请实施例中,通过变换子应用的名称,便于主应用识别到相应的子应用。
例如,在本申请实施例中,可以将子应用的名称作为主应用加载的规则,即,主应用自动加载子应用的规则:每个安装了主应用插件后的项目,会在项目中自动生成一个随机字符串,开发人员需要将此字符串复制,并作为即将成为子应用的项目名称的一部分,主应用即可识别对应的子应用并完成注册。
其中,在本申请实施例中,在对子应用的名称进行变换时,可以将该随机生成的子应用标识字符串直接插入到子应用的名称中,使得子应用标识字符串可以位于原子应用名称的起始位置、中间位置或者结尾位置等。其中,子应用标识字符串的插入,便于主应用可以快速识别到相应的子应用。
相应的,在子应用名称根据子应用标识字符串进行变换后,主应用可以直接根据主插件、子插件以及变换后子应用名称实现对子应用的检索和加载。同样的,在搭建其主应用对子应用的加载调用后,也相应的实现了子应用在主应用中的集成,实现新的主应用的集成开发。
其中,在本申请实施例中,通过在插件中安装相应的依赖库实现对相应的依赖库的引入,即,可选的,在本申请的一些实施例中,步骤“在所述主插件和子插件中分别引入所述微前端依赖库”,包括:
通过安装命令分别在所述主插件和所述子插件中安装微前端的依赖库;
并按照微前端的配置文档对所述主插件和所述子插件进行配置。
其中,可以通过安装命令(npm install)安装qiankun依赖库,并按照qiankun官方文档在主子应用中分别配置,该过程为后续主子应用之间通信,子应用注册提供必要环境。
其中,依赖库是项目或者应用的运行所依赖的文件,例如,在开发Android程序时,除了主module之外,一般还会有一个或多个依赖module(依赖项目),依赖项目通常和应用项目类似,你可以使用相同的任务来构建和测试依赖项目,不同之处是应用项目将生成一个可以被安装和运行在Android设备上的apk文件,依赖项目则生成一个aar文件,该文件可以被Android应用项目(主项目)用作依赖库。通过安装相应的依赖库,便于应用对相应库的深度调用,最终实现产品的整个功能。
其中,在本申请实施例中,在建立主插件对子插件的引用时,还可以对引用的发生基础进行控制,以控制应用是否发生或者具体在什么条件下发生,即,可选的,在本申请的一些实施例中,步骤“根据所述运行环境信息,在所述主插件中建立对所述子插件的引用”,包括:
确定不同用户的访问权限,所述访问权限描述所述用户对所述待集成子应用的访问情况;
根据所述访问权限和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请实施例中,访问权限指用户访问某个子应用的权限,即,用户在登录主应用后,主应用调用子应用的权限。
其中,通过访问权限控制引用的发生,使得不同访问权限的用户可以调用不同的子应用,例如,针对不具备访问权限的用户,则不能调用相应的子应用。
其中,通过访问权限对主插件和子插件的引用进行控制,可实现对不同用户访问权限以及访问内容的控制,保证应用数据的安全性。
例如,在本申请实施例中,可以将访问权限作为引用的触发条件,针对不同的访问权限,配置不同的引用。
其中,在本申请实施例中,还可以根据用户的身份等级,对主插件与子插件的引用进行控制,以使得不同身份等级的用户,所能访问的子应用不同,即,可选的,在本申请的一些实施例中,步骤“根据所述运行环境信息,在所述主插件中建立对所述子插件的引用”,包括:
确定不同用户的身份等级,所述身份等级描述所述待集成子应用在所述待集成主应用的界面的显示情况;
根据所述身份等级和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请实施例中,身份等级是用户的身份所对应的等级,不同身份等级的用户所能访问的子应用不同。
其中,通过身份等级对引用进行配置,使得不用身份等级的用户在登录该主应用后,可以访问对应不同的子应用,实现不同身份等级的用户的访问控制。
其中,在本申请实施例中,当建立起主应用对子应用的引用后,则可以在主应用中生成针对子应用的图标,用户可以在主应用中基于该图标启动子应用,即,可选的,在本申请的一些实施例中,步骤“将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用”之后,该方法还包括:
当启动所述集成后主应用后,在所述集成后主应用的预设位置生成针对所述待集成子应用的应用图标;
响应于针对所述应用图标的触碰操作,加载所述待集成子应用。
其中,通过在主应用中生成针对子应用的应用图标,使得用户在触碰或者按压该应用图标后,可以启动相应的子应用。
其中,在本申请实施例中,针对不同访问权限或者身份等级的用户,在其登录的主应用中,生成符合相应访问权限和相应身份等级的子应用的应用图标。
其中,本申请实施例针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对所述待集成主应用的主插件,确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件,根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入微前端依赖库以及分别配置相应的运行环境信息,根据所述运行环境信息,在主插件中建立对子插件的引用,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。其中,通过建立插件并通过插件实现对应用运行环境的配置,实现利用插件将子应用集成到主应用中,实现应用的集成开发,其中,通过针对主应用和子应用分别构建插件,在利用插件分别配置主应用的运行环境和子应用的运行环境后,可以通过插件之间的引用,直接建立子应用在主应用中的集成,因此,通过分别构建插件,可实现应用的快速集成。其中,微前端依赖库的引入,也为应用通过多个子应用的开发提供实现基础。
请参阅图3,图3为本申请实施例提供的应用集成方法中配置主插件的流程示意图。该配置主插件的具体流程可以如下:
201、申请待集成主应用的主前端资源,并搭建待集成主应用对应的主插件。
其中,在本申请实施例中,主前端资源是针对待集成主应用的前端资源,该前端资源是指一个单页面Web APP在顺利执行时所需要的最小集合,通常为javaScript源文件、CSS源文件、vue文件或者Webpack文件等。
202、在主插件中引入微前端依赖库。
其中,在本申请实施例中,微前端依赖库包括乾坤(qiankun)依赖库。
203、在主插件中配置浏览器兼容。
其中,在本申请实施例中,浏览器兼容的配置,便于应用能够在页面端被加载。
204、在主插件中配置环境文件。
其中,环境文件的配置,为主插件的运行提供基础条件,使得主插件能够被待集成主应用调用,能够响应相应的调用命令。
205、在主插件中配置打包规则。
其中,在本申请实施例中,打包规则包括子应用的名称规则,每个安装了主应用插件后的项目,会在项目中自动生成一个随机字符串,开发人员需要将此字符串复制,并作为即将成为子应用的项目名称的一部分,主应用即可识别对应的子应用并完成注册。
206、在主插件中配置待集成主应用的主应用容器。
其中,在本申请实施例中,针对引入的依赖库,对主应用容器进行配置,例如,在本申请实施例中,针对引入的qiankun依赖库,利用qiankun依赖库的配置文件对主应用容器进行配置。
207、在主插件中配置路由、动作等通信信息。
其中,路由、动作等通信信息的配置,实现待集成主应用与待集成子应用之间的路由跳转的控制。
208、在主插件中建立对子插件的引用。
其中,通过在主插件中引用子插件,使得主应用可以通过主插件、子插件实现对子应用的调用。
209、将主插件打包并上传至待集成主应用的依赖库。
210、在待集成主应用中引用主插件。
其中,在本申请实施例中,通过构建主插件,可以将该主插件引入到待改造的项目中,实现对相应的子应用的引用,实现对项目的改造。
请参阅图4,图4为本申请实施例提供的应用集成方法中配置子插件的流程示意图。该配置子插件的具体流程可以如下:
221、申请待集成子应用的子前端资源,并搭建待集成子应用对应的子插件。
其中,在本申请实施例中,子前端资源是针对待集成子应用的前端资源,该前端资源是指一个单页面Web APP在顺利执行时所需要的最小集合,通常为javaScript源文件、CSS源文件、vue文件或者Webpack文件等。
222、在子插件中引入微前端依赖库。
其中,在本申请实施例中,微前端依赖库包括乾坤(qiankun)依赖库。
223、在子插件中配置浏览器兼容。
其中,在本申请实施例中,浏览器兼容的配置,便于应用能够在页面端被加载。
224、在子插件中配置环境文件。
其中,环境文件的配置,为主插件的运行提供基础条件,使得主插件能够被待集成主应用调用,能够响应相应的调用命令。
225、在子插件中配置打包规则。
其中,在本申请实施例中,打包规则包括子应用的名称规则,每个安装了主应用插件后的项目,会在项目中自动生成一个随机字符串,开发人员需要将此字符串复制,并作为即将成为子应用的项目名称的一部分,主应用即可识别对应的子应用并完成注册。
其中,将选定为子应用的项目安装(npm install)子应用插件,修改项目名称使其包含主应用生成的随机字符串,方便主应用检索并加载子应用。
226、在子插件中配置待集成子应用的子应用容器。
其中,在本申请实施例中,针对引入的依赖库,对主应用容器进行配置,例如,在本申请实施例中,针对引入的qiankun依赖库,利用qiankun依赖库的配置文件对主应用容器进行配置。
227、在子插件中配置路由、动作等通信信息。
其中,路由、动作等通信信息的配置,实现待集成子应用与其他子应用之间的路由跳转的控制。
228、将子插件打包并上传至待集成子应用的依赖库。
229、在待集成子应用中引用子插件。
其中,在本申请实施例中,通过构建子插件,便于根据该子插件将该待集成子应用集成到相应的主应用中,实现主应用对应的项目的改造。
为便于更好的实施本申请的应用集成方法,本申请还提供一种基于上述应用集成方法的应用集成装置。其中,涉及的目标词语的含义与上述应用集成方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图5,图5是本申请实施例提供的应用集成装置的结构示意图,其中,该应用集成装置可以包括:
主插件搭建模块301,用于针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件;
子插件搭建模块302,用于确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件;
引入模块303,用于根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库;
配置模块304,用于根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息;
引用模块305,用于根据所述运行环境信息,在所述主插件中建立对所述子插件的引用;
集成模块306,用于将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
其中,在本申请的一些实施例中,该装置还包括应用模块,应用模块包括:
生成单元,用于根据所述主插件在所述集成后主应用中生成子应用标识字符串;
变换单元,用于根据所述子应用标识字符串对所述待集成子应用的名称进行变换,得到变换后子应用名称,所述变换后子应用名称包含所述子应用标识字符串;
应用单元,用于根据所述变换后子应用名称、所述主插件和所述子插件,建立所述待集成主应用对所述待集成子应用的检索和加载。
其中,在本申请的一些实施例中,引入模块303包括:
安装单元,用于通过安装命令分别在所述主插件和所述子插件中安装微前端的依赖库;
配置单元,用于并按照微前端的配置文档对所述主插件和所述子插件进行配置。
其中,在本申请的一些实施例中,引用模块305包括:
第一确定单元,用于确定不同用户的访问权限,所述访问权限描述所述用户对所述待集成子应用的访问情况;
第一引用单元,用于根据所述访问权限和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请的一些实施例中,引用模块305包括:
第二确定单元,用于确定不同用户的身份等级,所述身份等级描述所述待集成子应用在所述待集成主应用的界面的显示情况;
第二引用单元,用于根据所述身份等级和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
其中,在本申请的一些实施例中,该装置还包括响应模块,响应模块包括:
图标生成单元,用于当启动所述集成后主应用后,在所述集成后主应用的预设位置生成针对所述待集成子应用的应用图标;
响应单元,用于响应于针对所述应用图标的触碰操作,加载所述待集成子应用。
其中,在本申请的一些实施例中,微前端依赖库包括乾坤依赖库,所述运行环境信息包括浏览器兼容配置信息、环境文件配置信息、打包规则配置信息、应用容器配置信息、通信配置信息中的至少一种。
本申请实施例由主插件搭建模块301针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件,接着,由子插件搭建模块302确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件,随后,由引入模块303根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库,然后,由配置模块304根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息,随后,由引用模块305根据所述运行环境信息,在所述主插件中建立对所述子插件的引用,最后,由集成模块306将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
其中,本申请实施例针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对所述待集成主应用的主插件,确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件,根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入微前端依赖库以及分别配置相应的运行环境信息,根据所述运行环境信息,在主插件中建立对子插件的引用,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。其中,通过建立插件并通过插件实现对应用运行环境的配置,实现利用插件将子应用集成到主应用中,实现应用的集成开发,其中,通过针对主应用和子应用分别构建插件,在利用插件分别配置主应用的运行环境和子应用的运行环境后,可以通过插件之间的引用,直接建立子应用在主应用中的集成,因此,通过分别构建插件,可实现应用的快速集成。其中,微前端依赖库的引入,也为应用通过多个子应用的开发提供实现基础。
此外,本申请还提供一种电子设备,如图6所示,其示出了本申请所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、对象界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与对象设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现本申请所提供的任一种应用集成方法中的步骤。
本申请实施例针对待集成主应用,申请待集成主应用的主前端资源,并根据主前端资源搭建针对所述待集成主应用的主插件,确定待集成子应用,申请待集成子应用的子前端资源,并根据子前端资源搭建针对待集成子应用的子插件,根据应用集成开发需求确定待引入的微前端依赖库,并在主插件和子插件中分别引入微前端依赖库以及分别配置相应的运行环境信息,根据所述运行环境信息,在主插件中建立对子插件的引用,将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。其中,通过建立插件并通过插件实现对应用运行环境的配置,实现利用插件将子应用集成到主应用中,实现应用的集成开发,其中,通过针对主应用和子应用分别构建插件,在利用插件分别配置主应用的运行环境和子应用的运行环境后,可以通过插件之间的引用,直接建立子应用在主应用中的集成,因此,通过分别构建插件,可实现应用的快速集成。其中,微前端依赖库的引入,也为应用通过多个子应用的开发提供实现基础。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本申请所提供的任一种应用集成方法中的步骤。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请所提供的任一种应用集成方法中的步骤,因此,可以实现本申请所提供的任一种应用集成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请所提供的一种应用集成方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用集成方法,其特征在于,包括:
针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件;
确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件;
根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库;
根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息;
根据所述运行环境信息,在所述主插件中建立对所述子插件的引用;
将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
2.根据权利要求1所述的方法,其特征在于,所述将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用之后,所述方法还包括:
根据所述主插件在所述集成后主应用中生成子应用标识字符串;
根据所述子应用标识字符串对所述待集成子应用的名称进行变换,得到变换后子应用名称,所述变换后子应用名称包含所述子应用标识字符串;
根据所述变换后子应用名称、所述主插件和所述子插件,建立所述待集成主应用对所述待集成子应用的检索和加载。
3.根据权利要求1所述的方法,其特征在于,所述在所述主插件和子插件中分别引入所述微前端依赖库,包括:
通过安装命令分别在所述主插件和所述子插件中安装微前端的依赖库;
并按照所述微前端的配置文档对所述主插件和所述子插件进行配置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述运行环境信息,在所述主插件中建立对所述子插件的引用,包括:
确定不同用户的访问权限,所述访问权限描述所述用户对所述待集成子应用的访问情况;
根据所述访问权限和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
5.根据权利要求1所述的方法,其特征在于,所述根据所述运行环境信息,在所述主插件中建立对所述子插件的引用,包括:
确定不同用户的身份等级,所述身份等级描述所述待集成子应用在所述待集成主应用的界面的显示情况;
根据所述身份等级和所述运行环境信息,在所述主插件中建立对所述子插件的引用。
6.根据权利要求1所述的方法,其特征在于,所述将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用之后,所述方法还包括:
当启动所述集成后主应用后,在所述集成后主应用的预设位置生成针对所述待集成子应用的应用图标;
响应于针对所述应用图标的触碰操作,加载所述待集成子应用。
7.根据权利要求1所述的方法,其特征在于,所述微前端依赖库包括乾坤依赖库,所述运行环境信息包括浏览器兼容配置信息、环境文件配置信息、打包规则配置信息、应用容器配置信息或者通信配置信息中的至少一种。
8.一种应用集成装置,其特征在于,包括:
主插件搭建模块,用于针对待集成主应用,申请所述待集成主应用的主前端资源,并根据所述主前端资源搭建针对所述待集成主应用的主插件;
子插件搭建模块,用于确定待集成子应用,申请所述待集成子应用的子前端资源,并根据所述子前端资源搭建针对所述待集成子应用的子插件;
引入模块,用于根据应用集成开发需求确定待引入的微前端依赖库,并在所述主插件和子插件中分别引入所述微前端依赖库;
配置模块,用于根据所述微前端依赖库在所述主插件和子插件中分别配置相应的运行环境信息;
引用模块,用于根据所述运行环境信息,在所述主插件中建立对所述子插件的引用;
集成模块,用于将所述主插件上传至所述待集成主应用的依赖库,以及将所述子插件上传至所述待集成子应用的依赖库,得到集成后主应用。
9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述应用集成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述应用集成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477700.0A CN115794253A (zh) | 2022-11-23 | 2022-11-23 | 应用集成方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211477700.0A CN115794253A (zh) | 2022-11-23 | 2022-11-23 | 应用集成方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794253A true CN115794253A (zh) | 2023-03-14 |
Family
ID=85440723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211477700.0A Pending CN115794253A (zh) | 2022-11-23 | 2022-11-23 | 应用集成方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794253A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116360779A (zh) * | 2023-06-02 | 2023-06-30 | 杭州比智科技有限公司 | 基于qiankun在Vue CLI应用构建微前端基座的方法 |
-
2022
- 2022-11-23 CN CN202211477700.0A patent/CN115794253A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116360779A (zh) * | 2023-06-02 | 2023-06-30 | 杭州比智科技有限公司 | 基于qiankun在Vue CLI应用构建微前端基座的方法 |
CN116360779B (zh) * | 2023-06-02 | 2023-08-15 | 杭州比智科技有限公司 | 基于qiankun在Vue CLI应用构建微前端基座的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11405274B2 (en) | Managing virtual network functions | |
US8302093B2 (en) | Automated deployment of defined topology in distributed computing environment | |
CN102804132B (zh) | 基于目录的软件组件管理 | |
US8327350B2 (en) | Virtual resource templates | |
KR101574366B1 (ko) | 가상 머신 및 애플리케이션 수명들의 동기화 | |
US10447814B2 (en) | Joint servicing of software packages | |
CN111209005B (zh) | 程序文件的编译方法、装置和计算机可读存储介质 | |
US10656971B2 (en) | Agile framework for vertical application development and delivery | |
US10901804B2 (en) | Apparatus and method to select services for executing a user program based on a code pattern included therein | |
US20150212812A1 (en) | Declarative and pluggable business logic for systems management | |
US10521201B2 (en) | Information processing apparatus and method | |
WO2012000999A1 (en) | Configuring a computer system for a software package installation | |
JP2018530070A (ja) | クラウドベースのコンピューティング環境上の基盤を構築、最適化及び実施するシステム及び方法 | |
US9459859B2 (en) | Template derivation for configuration object management | |
KR102052776B1 (ko) | 병행가능하고 신뢰성 있는 설치를 위한 설치 엔진 및 패키지 포맷 | |
CN108351766B (zh) | 从移动设备创建和修改应用 | |
US9626251B2 (en) | Undo configuration transactional compensation | |
CN116783581A (zh) | 在云平台中配置的数据中心上部署软件发布 | |
CN102473103B (zh) | 控制运行的应用程序以便进行实时场景图编辑 | |
CN115794253A (zh) | 应用集成方法、装置、电子设备及计算机可读存储介质 | |
US10514940B2 (en) | Virtual application package reconstruction | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
JP6002302B2 (ja) | Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム | |
CN113407257A (zh) | Mysql集群部署方法、装置、电子设备及存储介质 | |
CN115113972A (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 |