子程序更新方法以及相关设备技术

技术编号:39571949 阅读:9 留言:0更新日期:2023-12-03 19:23
本申请公开了一种子程序更新方法以及相关设备,相关实施例可应用于云技术

【技术实现步骤摘要】
子程序更新方法以及相关设备


[0001]本申请涉及计算机
,具体涉及一种子程序更新方法以及相关设备


技术介绍

[0002]小程序,是指一种基于特定编程语言开发完成,无需下载和安装,就可以使用的移动端应用程序,其可以运行在跨平台移动客户端上

小程序的最大特点是使用便捷,小程序通常是以某个应用软件作为运行平台来实现的,用户通过该应用软件扫一扫该小程序对应的二维码或者在该应用软件中搜索一下即可打开小程序,无需手动在移动端的操作系统中安装,基于小程序的特点,可以在一定程度上解决用户不想在终端上安装太多应用软件的问题

[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]本申请实施例提供了一种子程序更新方法以及相关设备,可以接收在开发侧针对目标子程序的逻辑代码文件的修改更新操作;若修改后的目标逻辑代码文件不是子程序的入口逻辑代码文件,确定所述目标逻辑代码文件关联的目标页面;当所述目标页面中的原始组件当前处于已加载状态时,基于所述目标逻辑代码文件注册目标组件;将与所述目标逻辑代码文件对应的原始组件替换为所述目标逻辑代码文件对应的目标组件;对所述目标组件的组件信息进行编译处理,以更新展示所述目标页面,更新后的目标页面包括所述目标组件

本申请可以在子程序的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种子程序更新方法,其特征在于,包括:接收在开发侧针对目标子程序的逻辑代码文件的修改更新操作;若修改后的目标逻辑代码文件不是子程序的入口逻辑代码文件,确定所述目标逻辑代码文件关联的目标页面;当所述目标页面中的原始组件当前处于已加载状态时,基于所述目标逻辑代码文件注册目标组件;将与所述目标逻辑代码文件对应的原始组件替换为所述目标逻辑代码文件对应的目标组件;对所述目标组件的组件信息进行编译处理,以更新展示所述目标页面,更新后的目标页面包括所述目标组件
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:若修改后的目标逻辑代码文件为子程序的入口逻辑代码文件,对所述目标逻辑代码文件进行编译处理;基于编译结果,重新启动所述目标子程序,以通过重新启动后的目标子程序,展示所述目标逻辑代码文件对应的更新后页面
。3.
根据权利要求1所述的方法,其特征在于,所述非子程序的入口逻辑代码文件包括页面入口逻辑代码文件和非页面入口逻辑代码文件;所述若修改后的目标逻辑代码文件不是子程序的入口逻辑代码文件,确定所述目标逻辑代码文件关联的目标页面,包括:若修改后的目标逻辑代码文件为页面入口逻辑代码文件,将所述目标逻辑代码文件对应的页面确定为目标页面;若修改后的目标逻辑代码文件为非页面入口逻辑代码文件,对所述目标逻辑代码文件进行页面依赖关系的分析,得到所述目标逻辑代码文件对应的依赖页面,将所述依赖页面确定为目标页面
。4.
根据权利要求1所述的方法,其特征在于,所述将与所述目标逻辑代码文件对应的原始组件替换为所述目标逻辑代码文件对应的目标组件,包括:将与所述目标逻辑代码文件对应的原始组件的组件逻辑替换为所述目标逻辑代码文件对应的目标组件的组件逻辑;将与所述目标逻辑代码文件对应的原始组件的组件实例替换为所述目标逻辑代码文件对应的目标组件的组件实例
。5.
根据权利要求4所述的方法,其特征在于,所述将与所述目标逻辑代码文件对应的原始组件的组件实例替换为所述目标逻辑代码文件对应的目标组件的组件实例,包括:从所述目标子程序的逻辑代码文件中获取所述原始组件对应的组件实例;基于所述目标逻辑代码文件对应的目标组件的组件属性,构建所述...

【专利技术属性】
技术研发人员:郭锋棉傅博泉黄灿辉
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1