CN113535160B - 应用模块复用的方法、装置、系统、电子装置和存储介质 - Google Patents

应用模块复用的方法、装置、系统、电子装置和存储介质 Download PDF

Info

Publication number
CN113535160B
CN113535160B CN202110788553.8A CN202110788553A CN113535160B CN 113535160 B CN113535160 B CN 113535160B CN 202110788553 A CN202110788553 A CN 202110788553A CN 113535160 B CN113535160 B CN 113535160B
Authority
CN
China
Prior art keywords
application
atomic
multiplexing
module
applications
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
Application number
CN202110788553.8A
Other languages
English (en)
Other versions
CN113535160A (zh
Inventor
何卓凡
范渊
黄进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202110788553.8A priority Critical patent/CN113535160B/zh
Publication of CN113535160A publication Critical patent/CN113535160A/zh
Application granted granted Critical
Publication of CN113535160B publication Critical patent/CN113535160B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种应用模块复用的方法、装置、系统、电子装置和存储介质,其中,该应用模块复用的方法包括:过获取路由结构;基于该路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应;根据该原子应用生成模块复用结果。通过本申请,解决了应用模块复用的成本高的问题,实现了基于微前端构建的应用模块复用。

Description

应用模块复用的方法、装置、系统、电子装置和存储介质
技术领域
本申请涉及计算机软件技术领域,特别是涉及应用模块复用的方法、装置、系统、电子装置和存储介质。
背景技术
随着互联网的高速发展,用户数量不断提升,应用规模也随之不断扩大。维护和构建也逐渐成为应用开发中的重要组成部分。微前端技术的出现,将单体应用拆分为多个应用模块。为了节约开发和维护成本,需要在多个应用中开发相同的应用模块。
在相关技术中,通常采用Node包管理器(Node Package Manager,简称为NPM包)的方式,将复用的模块单独开发一个NPM包,然后在需要的应用中安装,以实现应用模块的复用。然而该方法需要在每个应用中都安装NPM包,每个应用都需要自己维护模块版本,会有版本差异的问题;若需要开发新的应用,同样也需要安装一遍。并且NPM包开发时会与业务系统割裂,不适合与业务系统强相关的模块开发,导致应用模块复用的成本较高。
目前针对相关技术中应用模块复用的成本高的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种应用模块复用的方法、装置、系统、电子装置和存储介质,以至少解决相关技术中应用模块复用的成本高的问题。
第一方面,本申请实施例提供了一种应用模块复用的方法,所述方法包括:
获取路由结构;
基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,所述页面模板由所述单体应用构建生成;所述原子应用和所述路由结构相对应;
根据所述原子应用生成模块复用结果。
在其中一些实施例中,所述根据所述原子应用生成模块复用结果包括:
获取预设的主应用;
获取所述原子应用的应用列表,并基于所述应用列表获取所述原子应用中的目标原子应用;
根据所述目标原子应用和所述预设的主应用生成配置文件;
根据所述配置文件获取所述目标原子应用和所述主应用的打包结果。
在其中一些实施例中,所述主应用包括第一主应用和第二主应用;所述基于所述应用列表获取所述原子应用中的目标原子应用之后,所述方法还包括:
根据所述目标原子应用和所述第一主应用生成第一配置文件,并根据所述第一配置文件获取第一打包结果;其中,所述第一打包结果包括所述目标原子应用和所述第一主应用;
根据所述目标原子应用和所述第二主应用生成第二配置文件,并根据所述第二配置文件获取第二打包结果;其中,所述第二打包结果包括所述目标原子应用和所述第二主应用。
在其中一些实施例中,所述基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用包括:
遍历所有所述路由结构,基于遍历结果,针对所述路由结构进行结构转换处理,得到结构转换处理后的列表路由结构;
基于所述列表路由结构,生成根据所述页面模板构建的所述原子应用。
在其中一些实施例中,所述基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用包括:
获取所述页面模板;
通过所述路由结构,利用所述页面模板生成入口文件,并基于所述入口文件生成所述原子应用。
在其中一些实施例中,所述根据预设的页面模板将单体应用拆分为至少两个原子应用之后,所述方法还包括:
获取每个所述原子应用对应的分级结构信息,并根据所述分级结构信息,将所有所述原子应用进行分块存储。
第二方面,本申请实施例提供了一种应用模块复用的装置,所述装置包括:第一获取模块、拆分模块和复用模块;
所述第一获取模块,用于获取路由结构;
所述拆分模块,用于基于所述路由结构,根据预设的页面模板将单体应用拆分为原子应用;其中,所述页面模板由所述单体应用构建生成;所述原子应用和所述路由结构相对应;
所述复用模块,用于根据所述原子应用生成模块复用结果。
第三方面,本申请实施例提供了一种应用模块复用的系统,所述系统包括:终端设备、传输设备以及服务器设备;其中,所述终端设备通过传输设备连接服务器设备;
所述终端设备用于接收原子应用并将进行显示;
所述传输设备用于传输所述原子应用;
所述服务器设备用于执行如上述第一方面所述的应用模块复用的方法。
第四方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的应用模块复用的方法。
第五方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的应用模块复用的方法。
相比于相关技术,本申请实施例提供的应用模块复用的方法、装置、系统、电子装置和存储介质,通过获取路由结构;基于该路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应;根据该原子应用生成模块复用结果,解决了应用模块复用的成本高的问题。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种应用模块复用方法的应用场景的示意图;
图2是根据本申请实施例的一种应用模块复用的方法的流程图;
图3是根据本申请实施例的另一种应用模块复用的方法的流程图;
图4是根据本申请实施例的一种原子应用获取方法的流程图;
图5是根据本申请实施例的一种原子应用复用方法的流程图;
图6是根据本申请实施例的一种应用模块复用的装置的结构框图;
图7是根据本申请实施例的一种应用模块复用的系统的结构框图;
图8是根据本申请实施例的一种计算机设备内部的结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本实施例中,提供了一种应用模块复用方法的应用场景,图1是根据本申请实施例的一种应用模块复用方法的应用场景的示意图,如图1所示,在该应用环境中,包括终端设备12和服务器设备14。该终端设备12通过网络与该服务器设备14进行通信。该服务器设备14基于获取到的路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用,并获取到用户在终端设备12的配置界面上选择的原子应用中的目标原子应用,以及预设的主应用,最终生成该目标原子应用和主应用的打包结果。该终端设备12可以但不限于是各种智能手机、个人计算机、笔记本电脑和平板电脑,该服务器设备14可以用独立的服务器设备或者是多个服务器设备组成的服务器设备集群来实现。
本实施例提供了一种应用模块复用的方法,图2是根据本申请实施例的一种应用模块复用的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,获取路由结构。
其中,上述路由结构是在业务项目构建时根据项目的文件结构生成的,例如该项目中的某一文件路径为/users/detail,则对应的路由结构也为/users/detail。需要说明的是,本实施例中的业务项目可以基于微前端框架搭建,且每个路由均为独立微前端应用。前端微服务是前端在网络技术不断发展中的一种技术,能够将大型前端应用拆分为多个子应用。可以解决单体应用体量过大、维护成本过大、小部分内容变更需要整个应用重新构建的问题。当需要复用不同子应用的不同模块时,可以借助微前端的构建方案,在构建应用时,将子应用中的每个模块再构建为单个原子应用,最后通过持续集成的方式将拼装原子应用,完成模块复用。
步骤S220,基于该路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应。
需要说明的是,本实施例在上述获取到路由结构后,可以检测获取到的路由是否合法,例如,可以判断该路由结构中是否有特殊字符插入,若有特殊字符,由于此时会导致路由错误,即检测到路由不合法,因此将会终端设备程序,并结束拆分单体应用的流程;若检测到路由合法,则可以基于路由结构生成上述多个原子应用。其中,上述生成原子应用的方式可以为:获取该页面模板;通过该路由结构,利用该页面模板生成入口文件,并基于该入口文件生成该原子应用。具体地,在基于上述微前端架构搭建业务项目的过程中,可以由该业务项目提供一个预先编辑好的,且用于构建原子应用的页面模板,该页面模板可以选用超文本标记语言(HyperText Markup Language,简称为HTML)页面模板,即上述路由结构中的每个路由模块都将使用这个HTML页面模板来生成原子应用,并将编译完成的JavaScrip和层叠样式表(Cascading Style Sheets,简称为CSS)插入该HTML页面模板,形成HTML格式的入口文件,进而通过该入口文件将JavaScrip和CSS打包成上述原子应用,且各原子应用分别与上述路由模块一一对应。
步骤S230,根据该原子应用生成模块复用结果。
其中,将上述单体应用拆分成体积相对较小的原子应用后,可以使用自动化的方式实现基于原子应用的项目构建,以及实现打包交付得到的模块复用结果,从而提供了一种高效的复用模式,使得不同的应用能够复用相同的模块。
在相关技术中,通常通过Node.JavaScrip默认的、用JavaScript编写的软件包管理系统,即NPM包的方式实现模块复用,由于NPM存在安装繁琐、与业务系统割裂等问题,导致应用模块复用成本较高。而本申请实施例通过上述步骤S210至步骤S230,通过获取到的路由结构,以及预设的页面模板将单体应用拆分成至少两个原子应用,从而实现了基于路由的模块拆分,使得在项目构建阶段能够将单体应用打包为多个原子应用,便于复用,解决了应用模块复用的成本高的问题,实现了基于微前端构建的应用模块复用方法。
在其中一些实施例中,提供了一种应用模块复用的方法,图3是根据本申请实施例的另一种应用模块复用的方法的流程图,如图3所示,该流程包括图2所示的步骤S210和步骤S230,此外还包括如下步骤:
步骤S231,获取预设的主应用。
其中,上述主应用是指基于微前端架构搭建的业务项目的主项目工程目录。该主应用可以提前预设好;若搭建的业务项目有多个,则可以由用户在上述终端设备显示的配置界面中选择其中一个业务项目对应的主应用;若该业务项目只有一个,则获取该业务项目的主应用。
步骤S232,获取该原子应用的应用列表,并基于该应用列表获取该原子应用中的目标原子应用。
具体地,读取所有原子应用,并将所有可用的原子应用以列表的形式列出。其中,该可用的原子应用是指有合法路由,且有HTML入口文件的原子应用,各原子应用在应用列表中可以按照项目、分支和模块三级结构排列。在获取到该应用列表后,基于该应用列表获取到上述目标原子应用。该目标原子应用的获取方式可以为:由上述处理器将该应用列表发送至上述终端设备,并由该终端设备在配置界面中显示该应用列表;例如,该应用列表可以通过带有筛选框和下拉框的形式显示在配置界面上,则用户可以通过与该配置界面进行交互,在下拉框中查看上述所有可用的原子应用,并在筛选框中选择所需要的原子应用;此时该终端设备将该筛选框中存储的原子应用作为目标原子应用,并发送给上述处理器,从而获取得到该目标原子应用。可以理解的是,该目标原子应用的数量可以为一个,也可以为多个。
步骤S233,根据该目标原子应用和该预设的主应用生成配置文件;根据该配置文件获取该目标原子应用和该主应用的打包结果。
其中,其他业务项目应用调用已经生成的原子应用的方式可以通过一个构建页面实现。具体地,上述处理器可以根据上述选择好的目标原子应用和主应用生成微前端的配置文件;该配置文件可以通过由信息和HTML入口文件生成,例如:{name: ”users/detail”,entry:“dist/users/detail.html”},即该配置文件的名称为该路由信息users/detail,实体为该HTML入口文件。
在其中一些实施例中,上述主应用包括第一主应用和第二主应用;上述步骤S232执行之后,还包括如下步骤:根据该目标原子应用和该第一主应用生成第一配置文件,并根据该第一配置文件获取第一打包结果;其中,该第一打包结果包括该目标原子应用和该第一主应用;根据该目标原子应用和该第二主应用生成第二配置文件,并根据该第二配置文件获取第二打包结果;其中,该第二打包结果包括该目标原子应用和该第二主应用。具体地,上述第一主应用和上述第二主应用可以分别部署在两个不同的业务项目中;这两个业务项目之间的项目结构存在区别,但项目内容可以互相复用。则本申请实施中,可以由用户在上述终端设备的配置界面上选择该第一主应用或该第二主应用,若该用户已选中该第一主应用,则处理器在接收到终端设备发送的选中第一主应用的结果后,根据该第一主应用和上述用户选择好的目标原子应用生成第一配置文件,并根据该第一配置文件进行打包构建。类似地,若该用户已选中该第二主应用,则处理器在接收到终端设备发送的选中第二主应用的结果后,将该第二主应用和该目标原子应用进行打包构建。
通过上述步骤S231至步骤S233,通过获取到的主应用和目标原子应用生成配置文件,并根据该配置文件对该目标原子应用和该主应用进行打包构建,从而便于其他应用在项目构建时配置即可复用,提高了应用模块复用的效率,提升了用户体验。
在其中一些实施例中,上述步骤S220还包括如下步骤:
步骤S221,遍历所有该路由结构,基于遍历结果,针对该路由结构进行结构转换处理,得到结构转换处理后的列表路由结构。
其中,在通过上述步骤S210获取到上述路由结构之后,处理器可以遍历所有路由,将遍历到的该路由结构中的每一个节点都存放在同一层级,从而实现了将树状结构的路由转换为所有路由均在同一层级的列表路由结构,便于原子应用的生成。
步骤S222,基于该列表路由结构,生成根据该页面模板构建的该原子应用。
其中,在遍历得到上述列表路由结构后,利用上述项目提供的页面模板生成上述对应到每一层节点的原子应用。
通过上述步骤S221至步骤S222,针对上述路由结构进行结构转换处理,得到列表结构的路由,从而便于后续原子应用生成并对应至每个文件路径下,有效提高了应用模块复用的效率。
在其中一些实施例中,上述步骤S220之后,该应用模块复用的方法还包括如下步骤:获取每个该原子应用对应的分级结构信息,并根据该分级结构信息,将所有该原子应用进行分块存储。
具体地,在通过上述步骤S220将单体应用拆分为多个原子应用后,可以将所有原子应用按照分级结构信息存储,便于其他应用调用。其中,该分级结构信息可以包括:业务项目信息、分支信息和模块信息;该业务项目信息包括项目标识,该项目标识用于指示上述原子应用所属的业务项目;该分支信息包括分支标识,该分支标识用于指示该原子应用所属的项目管理目录中的具体分支;该模块信息包括该原子应用的名称等信息。则上述处理器可以基于上述路由结构获取到每个原子应用对应的上述分级结构信息包括的内容,进而将原子应用分块存储至上述服务器设备中。
通过上述实施例,基于分级结构信息将上述拆分得到的原子应用进行分块存储,实现了将构建好的原子应用通过项目、分支、模块三级结构存储,便于用户在终端界面中选择和配置,并且使得其他应用能够便捷、高效地调用所有原子应用,从而进一步提高了应用模块复用的效率。
下面结合实际应用场景对本申请的实施例进行详细说明,图4是根据本申请实施例的一种原子应用获取方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,开始流程,获取路由结构。
步骤S402,检测路由是否合法。若否,则结束获取原子应用的流程。其中,上述获取路由结束后,会检测判断获取的路由是否合法,判断依据为是否有特殊字符插入。若路由不合法,将会中断程序,并结束流程。
步骤S403,若上述步骤S402的判断结果为是,则根据路由信息生成原子应用。其中,业务项目会提供一个用于构建原子应用的HTML页面模版,即每个路由模块都将使用这个模版来生成上述原子应用。
步骤S404,存储原子应用至服务器设备中。
其中,上述步骤S401至步骤S404的执行步骤均在服务器设备上进行,最终通过路由将单体应用构建为多个原子应用,且每个路由对应一个原子应用,这些原子应用会存储到服务器设备中,从而实现了原子应用的获取方法。
图5是根据本申请实施例的一种原子应用复用方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,开始流程,获取原子应用的应用列表。
步骤S502,获取用户通过上述终端设备选择的需要构建的主应用和目标原子应用。其中,选择需要使用的原子应用和主应用;由于最终打包构建时需要连同主应用一起构建,所以在配置界面中需要选择主应用。
步骤S503,生成微前端配置文件。其中,根据选择好的上述目标原子应用和主应用可以生成微前端的配置文件。
步骤S504,根据配置文件将主应用和目标原子应用打包在一起,结束流程。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。例如,在图3中,上述步骤S231可以在步骤S232之前执行,也可以在步骤S232之后执行,或者还可以和步骤S232同时执行。
本实施例还提供了一种应用模块复用的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的一种应用模块复用的装置的结构框图,如图6所示,该装置包括:第一获取模块62、拆分模块64和复用模块66。该第一获取模块62,用于获取路由结构;该拆分模块64,用于基于该路由结构,根据预设的页面模板将单体应用拆分为原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应;该复用模块66,用于根据该原子应用生成模块复用结果。
通过上述实施例,上述拆分模块64通过获取到的路由结构,以及预设的页面模板将单体应用拆分成至少两个原子应用,从而实现了基于路由的模块拆分,使得在项目构建阶段能够将单体应用打包为多个原子应用,便于复用,解决了应用模块复用的成本高的问题,实现了基于微前端构建的应用模块复用装置。
在其中一些实施例中,上述应用模块复用的装置还包括:第二获取模块、列表模块、配置模块和打包模块;该第二获取模块,用于获取预设的主应用;该列表模块,用于获取该原子应用的应用列表,并基于该应用列表获取该原子应用中的目标原子应用;该配置模块,用于根据该目标原子应用和该预设的主应用生成配置文件;该打包模块,用于根据该配置文件获取该目标原子应用和该主应用的打包结果。
在其中一些实施例中,上述主应用包括第一主应用和第二主应用;上述配置模块还用于根据该目标原子应用和该第一主应用生成第一配置文件,上述打包模块根据该第一配置文件获取第一打包结果;其中,该第一打包结果包括该目标原子应用和该第一主应用;该配置模块根据该目标原子应用和该第二主应用生成第二配置文件,该打包模块根据该第二配置文件获取第二打包结果;其中,该第二打包结果包括该目标原子应用和该第二主应用。
在其中一些实施例中,上述拆分模块64还用于遍历所有该路由结构,基于遍历结果,针对该路由结构进行结构转换处理,得到结构转换处理后的列表路由结构;该拆分模块64基于该列表路由结构,生成根据该页面模板构建的该原子应用。
在其中一些实施例中,上述拆分模块64还用于获取该页面模板;该拆分模块64通过该路由结构,利用该页面模板生成入口文件,并基于该入口文件生成该原子应用。
在其中一些实施例中,上述应用模块复用的装置还包括存储模块;该存储模块,用于获取每个该原子应用对应的分级结构信息,并根据该分级结构信息,将所有该原子应用进行分块存储。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种应用模块复用的系统,图7是根据本申请实施例的一种应用模块复用的系统的结构框图,如图7所示,该系统包括:终端设备12、传输设备72以及服务器设备14;其中,该终端设备12通过传输设备72连接服务器设备14;该终端设备12用于接收原子应用并将进行显示;该传输设备72用于传输该原子应用;该服务器设备14用于获取路由结构;该服务器设备14基于该路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应;该服务器设备14根据该原子应用生成模块复用结果。
通过上述实施例,上述服务器设备14通过获取到的路由结构,以及预设的页面模板将单体应用拆分成至少两个原子应用,从而实现了基于路由的模块拆分,使得在项目构建阶段能够将单体应用打包为多个原子应用,便于复用,解决了应用模块复用的成本高的问题,实现了基于微前端构建的应用模块复用系统。
在其中一些实施例中,上述服务器设备14还用于获取预设的主应用;该服务器设备14获取该原子应用的应用列表,并基于该应用列表获取该原子应用中的目标原子应用;该服务器设备14根据该目标原子应用和该预设的主应用生成配置文件;该服务器设备14根据该配置文件获取该目标原子应用和该主应用的打包结果。
在其中一些实施例中,上述主应用包括第一主应用和第二主应用;上述服务器设备14还用于根据该目标原子应用和该第一主应用生成第一配置文件,并根据该第一配置文件获取第一打包结果;其中,该第一打包结果包括该目标原子应用和该第一主应用;该服务器设备14根据该目标原子应用和该第二主应用生成第二配置文件,并根据该第二配置文件获取第二打包结果;其中,该第二打包结果包括该目标原子应用和该第二主应用。
在其中一些实施例中,上述服务器设备14还用于遍历所有该路由结构,基于遍历结果,针对该路由结构进行结构转换处理,得到结构转换处理后的列表路由结构;该服务器设备14基于该列表路由结构,生成根据该页面模板构建的该原子应用。
在其中一些实施例中,上述服务器设备14还用于获取该页面模板;该服务器设备14通过该路由结构,利用该页面模板生成入口文件,并基于该入口文件生成该原子应用。
在其中一些实施例中,上述服务器设备14还用于获取每个该原子应用对应的分级结构信息,并根据该分级结构信息,将所有该原子应用进行分块存储。
在本实施例中,提供了一种计算机设备,该计算机设备可以是服务器设备,图8是根据本申请实施例的一种计算机设备内部的结构图,如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原子应用。该计算机设备的网络接口用于与外部的终端设备通过网络连接通信。该计算机程序被处理器执行时以实现上述应用模块复用的方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取路由结构。
S2,基于该路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,该页面模板由该单体应用构建生成;该原子应用和该路由结构相对应。
S3,根据该原子应用生成模块复用结果。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的应用模块复用的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种应用模块复用的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种应用模块复用的方法,其特征在于,所述方法包括:
获取路由结构;
基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,所述页面模板由所述单体应用构建生成;所述原子应用和所述路由结构相对应;
所述基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用包括:
遍历所有所述路由结构,基于遍历结果,针对所述路由结构进行结构转换处理,得到结构转换处理后的列表路由结构;
基于所述列表路由结构,生成根据所述页面模板构建的所述原子应用;
根据所述原子应用生成模块复用结果;
所述根据所述原子应用生成模块复用结果包括:
获取预设的主应用;
获取所述原子应用的应用列表,并基于所述应用列表获取所述原子应用中的目标原子应用;
根据所述目标原子应用和所述预设的主应用生成配置文件;
根据所述配置文件获取所述目标原子应用和所述主应用的打包结果。
2.根据权利要求1所述的方法,其特征在于,所述主应用包括第一主应用和第二主应用;所述基于所述应用列表获取所述原子应用中的目标原子应用之后,所述方法还包括:
根据所述目标原子应用和所述第一主应用生成第一配置文件,并根据所述第一配置文件获取第一打包结果;其中,所述第一打包结果包括所述目标原子应用和所述第一主应用;
根据所述目标原子应用和所述第二主应用生成第二配置文件,并根据所述第二配置文件获取第二打包结果;其中,所述第二打包结果包括所述目标原子应用和所述第二主应用。
3.根据权利要求1所述的方法,其特征在于,所述基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用包括:
获取所述页面模板;
通过所述路由结构,利用所述页面模板生成入口文件,并基于所述入口文件生成所述原子应用。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据预设的页面模板将单体应用拆分为至少两个原子应用之后,所述方法还包括:
获取每个所述原子应用对应的分级结构信息,并根据所述分级结构信息,将所有所述原子应用进行分块存储。
5.一种应用模块复用的装置,其特征在于,所述装置包括:第一获取模块、拆分模块和复用模块;
所述第一获取模块,用于获取路由结构;
所述拆分模块,用于基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用;其中,所述页面模板由所述单体应用构建生成;所述原子应用和所述路由结构相对应;所述基于所述路由结构,根据预设的页面模板将单体应用拆分为至少两个原子应用包括:遍历所有所述路由结构,基于遍历结果,针对所述路由结构进行结构转换处理,得到结构转换处理后的列表路由结构;基于所述列表路由结构,生成根据所述页面模板构建的所述原子应用;
所述复用模块,用于根据所述原子应用生成模块复用结果;所述根据所述原子应用生成模块复用结果包括:获取预设的主应用;获取所述原子应用的应用列表,并基于所述应用列表获取所述原子应用中的目标原子应用;根据所述目标原子应用和所述预设的主应用生成配置文件;根据所述配置文件获取所述目标原子应用和所述主应用的打包结果。
6.一种应用模块复用的系统,其特征在于,所述系统包括:终端设备、传输设备以及服务器设备;其中,所述终端设备通过传输设备连接服务器设备;
所述终端设备用于接收原子应用并将进行显示;
所述传输设备用于传输所述原子应用;
所述服务器设备用于执行如权利要求1至4中任一项所述的应用模块复用的方法。
7.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至4中任一项所述的应用模块复用的方法。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至4中任一项所述的应用模块复用的方法。
CN202110788553.8A 2021-07-13 2021-07-13 应用模块复用的方法、装置、系统、电子装置和存储介质 Active CN113535160B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110788553.8A CN113535160B (zh) 2021-07-13 2021-07-13 应用模块复用的方法、装置、系统、电子装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110788553.8A CN113535160B (zh) 2021-07-13 2021-07-13 应用模块复用的方法、装置、系统、电子装置和存储介质

Publications (2)

Publication Number Publication Date
CN113535160A CN113535160A (zh) 2021-10-22
CN113535160B true CN113535160B (zh) 2024-03-26

Family

ID=78098790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110788553.8A Active CN113535160B (zh) 2021-07-13 2021-07-13 应用模块复用的方法、装置、系统、电子装置和存储介质

Country Status (1)

Country Link
CN (1) CN113535160B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860260A (zh) * 2023-04-26 2023-10-10 安元科技股份有限公司 一种微前端架构下的可裁剪运维部署方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748962A (zh) * 2021-01-22 2021-05-04 北京五八信息技术有限公司 应用加载方法、装置、电子设备和计算机可读介质
CN112817568A (zh) * 2021-02-02 2021-05-18 中国工商银行股份有限公司 微框架下的子应用样式设置方法及装置
CN114780080A (zh) * 2022-04-27 2022-07-22 中国银行股份有限公司 一种微前端集成方法、装置及监控方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748962A (zh) * 2021-01-22 2021-05-04 北京五八信息技术有限公司 应用加载方法、装置、电子设备和计算机可读介质
CN112817568A (zh) * 2021-02-02 2021-05-18 中国工商银行股份有限公司 微框架下的子应用样式设置方法及装置
CN114780080A (zh) * 2022-04-27 2022-07-22 中国银行股份有限公司 一种微前端集成方法、装置及监控方法

Also Published As

Publication number Publication date
CN113535160A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN108415702B (zh) 一种移动终端应用界面动态渲染方法和装置
CN111639287A (zh) 一种页面处理方法、装置、终端设备及可读存储介质
CN111680253B (zh) 页面应用数据包生成方法、装置、计算机设备及存储介质
WO2017148298A1 (zh) 混合模型列表项重用的方法及设备
CN104573066A (zh) 页面复用方法及装置
CN110351325B (zh) 一种数据处理方法及相关设备
CN111818175B (zh) 企业服务总线配置文件生成方法、装置、设备和存储介质
CN113126990A (zh) 一种页面开发方法、装置、设备及存储介质
CN113535160B (zh) 应用模块复用的方法、装置、系统、电子装置和存储介质
CN112631564A (zh) 基于内容管理系统界面生成方法、装置、设备和存储介质
CN111723314B (zh) 网页展示方法、装置、电子设备及计算机可读存储介质
US20100229083A1 (en) Screen display program generating apparatus, screen display system, computer readable storage medium having stored therein a computer program causing a computer to function as the screen display program generating apparatus, and screen display program generating method
CN115731313A (zh) Svg格式的图片的处理方法、装置、设备、介质及产品
CN105468412A (zh) 动态打包方法和装置
CN112527459B (zh) 一种基于Kubernetes集群的日志分析方法及装置
CN101655796A (zh) 基于Web的可扩展帮助系统及其实现方法
CN113761871A (zh) 富文本渲染方法、装置、电子设备以及存储介质
CN115809056B (zh) 组件复用实现方法、装置和终端设备、可读存储介质
CN114637499B (zh) 可视化组件处理方法、装置、设备及介质
CN112114871B (zh) 一种代码共享方法、装置、服务器、终端及介质
CN114186156A (zh) 一种子应用的访问方法、装置、介质及设备
CN109669720B (zh) 基于Promise的链式异步请求处理方法、装置及电子设备
CN113761419A (zh) 拓扑信息的显示方法、装置、电子设备及存储介质
CN114004211B (zh) 单证模板生成方法、处理方法、装置、计算机设备和介质
CN112286545B (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