应用编译方法、装置、设备、介质及程序产品制造方法及图纸

技术编号:31231233 阅读:17 留言:0更新日期:2021-12-08 10:05
本申请提供了一种应用编译方法、装置、设备、介质及程序产品,通过先获取状态注入工具,然后利用状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,以使对公共模块仓库的编译操作融合到专用模块仓库的编译进程中。使得复用的公共模块的数据流融合到了专用模块的数据流中,消除了数据流间的割裂及交互障碍,解决了现有技术中前端页面模块在多应用中复用时,数据流无法互通,需要借助其它接口程序或者复杂数据操作才能实现各模块间或模块与页面间数据交互的技术问题。达到了对原有代码的入侵程度极小,改造成本低,降低接入风险,提升前端应用开发效率的技术效果。提升前端应用开发效率的技术效果。提升前端应用开发效率的技术效果。

【技术实现步骤摘要】
应用编译方法、装置、设备、介质及程序产品


[0001]本申请涉及前端应用开发领域,尤其涉及一种应用编译方法、装置、设备、介质及程序产品。

技术介绍

[0002]随着Web(全球广域网)技术和APP(Application)应用程序的不断发展,前端应用功能愈发强大,技术变更日新月异。在拥抱这些变化的同时,开发人员也正面临仓库代码量过大、文件结构逐渐复杂所带来的影响。
[0003]开发人员一方面需要考虑代码的复用能力,避免迁移项目仅靠复制粘贴,后期根据业务诉求改造导致维护成本高的困境;另一方面,尽管目前已有一些技术能在一定程度上解决代码复用的问题,但对于多模块数据流,如状态数据的协同问题,并没有得到很好的解决,各种技术都存在一些缺陷,导致在使用过程中不能带给用户良好的使用体验。
[0004]因此,本申请就是为了解决现有技术中前端页面模块在多应用中复用时,数据流无法互通,需要借助其它接口程序或者复杂数据操作才能实现各模块间或模块与页面间数据交互的技术问题。

技术实现思路

[0005]本申请提供一种应用编译方法、装置、设备、介质及程序产品,以解决现有技术中前端页面模块在多应用中复用时,数据流无法互通,需要借助其它接口程序或者复杂数据操作才能实现各模块间或模块与页面间数据交互的技术问题。
[0006]第一个方面,本申请提供一种应用编译方法,包括:
[0007]获取状态注入工具;
[0008]利用状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,以使对公共模块仓库的编译操作融合到专用模块仓库的编译进程中;
[0009]其中,目标子状态机用于封装公共模块仓库中目标公共模块的状态数据,状态数据包括:目标公共模块在各个预设应用时刻的属性参数,专用模块仓库包括待编译应用的所有专用模块。
[0010]在一种可能的设计中,获取状态注入工具包括:对状态注入工具进行声明,以初始化状态注入工具中的各项内部参数。
[0011]在一种可能的设计中,利用状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,包括:
[0012]当待编译应用的编译程序生成状态机时,利用状态注入工具,将目标子状态机注册到状态机中;
[0013]其中,状态机用于封装待编译应用中各模块的状态数据。
[0014]在一种可能的设计中,当待编译应用的编译程序生成状态机时,利用状态注入工具,将目标子状态机注册到状态机中,包括:
[0015]当状态机生成时,状态注入工具对状态机的生成函数进行拦截,以使生成函数暂停执行;
[0016]将目标子状态机添加到生成函数的传入参数中;
[0017]继续执行生成函数。
[0018]可选的,对状态注入工具进行声明,包括:
[0019]在执行待编译应用的编译入口文件前,对状态注入工具进行参数初始化设置,如对状态注入工具进行声明。
[0020]在一种可能的设计中,对状态注入工具进行参数初始化设置,包括:
[0021]调用配置文件,从公共模块仓库中确定目标公共模块,目标公共模块中包括目标子状态机;
[0022]从目标公共模块中读取目标子状态机;
[0023]在状态注入工具中存储目标子状态机。
[0024]在一种可能的设计中,在将目标子状态机注册到状态机中之后,还包括:
[0025]利用编译器将状态机中的状态数据分发给对应的目标页面;
[0026]利用编译器,调用各个模块中的模块组件以及状态机,对目标页面进行编译;
[0027]其中,模块包括专用模块以及公共模块。
[0028]可选的,利用编译器,调用各个模块中的模块组件以及状态机,对目标页面进行编译,包括:
[0029]利用编译器,将第一模块组件以及第二模块组件导入目标页面,第一模块组件为目标公共模块的模块组件,第二模块组件为专用模块的模块组件;
[0030]利用状态机,为第一模块组件配置第一状态数据,并为第二模块组件配置第二状态数据,状态机中包括第一状态数据以及第二状态数据。
[0031]在一种可能的设计中,在获取状态注入工具之前,还包括:
[0032]在预设平台上,利用主从仓库创建工具建立专用模块仓库与公共模块仓库的主从映射关系,其中,专用模块仓库为主库,公共模块仓库为从库;
[0033]响应于用户的提交指令,利用提交工具将从库同步更新到主库对应的待编译应用当中,以供待编译应用在编译时调用目标公共模块。
[0034]可选的,在预设平台上,利用主从仓库创建工具建立专用模块仓库与公共模块仓库的主从映射关系,包括:
[0035]在预设平台上创建至少一个公共模块仓库的存放地址;
[0036]利用主从仓库创建工具,将至少一个公共模块仓库设置为从库,将至少一个专用模块仓库设置为主库。
[0037]第二方面,本申请提供一种应用编译装置,包括:
[0038]获取模块,用于获取状态注入工具;
[0039]状态注入模块,用于利用状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,以使对公共模块仓库的编译操作融合到专用模块仓库的编译进程中;
[0040]其中,目标子状态机用于封装公共模块仓库中目标公共模块的状态数据,状态数据包括:目标公共模块在各个预设应用时刻的属性参数,专用模块仓库包括待编译应用的所有专用模块。
[0041]在一种可能的设计中,状态注入模块,用于当待编译应用的编译程序生成状态机时,利用状态注入工具,将目标子状态机注册到状态机中;
[0042]其中,状态机用于封装待编译应用中各模块的状态数据。
[0043]在一种可能的设计中,状态注入模块,具体用于:
[0044]当状态机生成时,状态注入工具对状态机的生成函数进行拦截,以使生成函数暂停执行;
[0045]将目标子状态机添加到生成函数的传入参数中;
[0046]继续执行生成函数。
[0047]可选的,获取模块,用于在执行待编译应用的编译入口文件前,对状态注入工具进行参数初始化设置。
[0048]在一种可能的设计中,获取模块,具体用于:
[0049]调用配置文件,从公共模块仓库中确定目标公共模块,目标公共模块中包括目标子状态机;
[0050]从目标公共模块中读取目标子状态机;
[0051]在状态注入工具中存储目标子状态机。
[0052]在一种可能的设计中,状态注入模块,还用于:
[0053]利用编译器将状态机中的状态数据分发给对应的目标页面;
[0054]利用编译器,调用各个模块中的模块组件以及状态机,对目标页面进行编译;
[0055]其中,模块包括专用模块以及公共模块。
[0056]可选的,状态注入模块,具体用于:
[0057]利用编译器,将第一模块组件以及第二模块组件导入目标页面,第一模块组件为目标公共模块的模块组件,第二模块组件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用编译方法,其特征在于,包括:获取状态注入工具;利用所述状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,以使对公共模块仓库的编译操作融合到专用模块仓库的编译进程中;其中,所述目标子状态机用于封装所述公共模块仓库中目标公共模块的状态数据,所述状态数据包括:所述目标公共模块在各个预设应用时刻的属性参数,所述专用模块仓库包括所述待编译应用的所有专用模块。2.根据权利要求1所述的应用编译方法,其特征在于,所述利用所述状态注入工具,将目标子状态机注入到待编译应用的编译数据流中,包括:当待编译应用的编译程序生成状态机时,利用所述状态注入工具,将目标子状态机注册到所述状态机中;其中,所述状态机用于封装所述待编译应用中各模块的状态数据。3.根据权利要求2所述的应用编译方法,其特征在于,所述当待编译应用的编译程序生成状态机时,利用所述状态注入工具,将目标子状态机注册到所述状态机中,包括:当所述状态机生成时,所述状态注入工具对所述状态机的生成函数进行拦截,以使所述生成函数暂停执行;将所述目标子状态机添加到所述生成函数的传入参数中;继续执行所述生成函数。4.根据权利要求1

3中任意一项所述的应用编译方法,其特征在于,所述对状态注入工具进行声明,包括:在执行所述待编译应用的编译入口文件前,声明所述状态注入工具。5.根据权利要求4所述的应用编译方法,其特征在于,所述声明所述状态注入工具,包括:调用配置文件,从所述公共模块仓库中确定所述目标公共模块,所述目标公共模块中包括所述目标子状态机;从所述目标公共模块中读取所述目标子状态机;在所述状态注入工具中存储所述目标子状态机。6.根据权利要求2或3所述的应用编译方法,其特征在于,在所述将目标子状态机注册到所述状态机中之后,还包括:利用编译器将所述状态机中的状态数据分发给对应的目标页面;利用所述编译器,调用各个模块中的模块组件以及所述状态机,对所述目标页面进行编译;其中,所述模块包括所述专用模块以及所述公共模块。7.根据权利要求6所述的应用编译方法,其特征在于,所述利用所述编译器,调用各个模块中的模块组件以及所述状态机,对所述目标页面进行编译,包括:利...

【专利技术属性】
技术研发人员:曾淦
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1