页面加载方法、设备、装置、存储介质及程序产品制造方法及图纸

技术编号:33122162 阅读:55 留言:0更新日期:2022-04-17 00:26
本申请提出一种页面加载方法、设备、装置、存储介质及程序产品。在本申请实施例中,在对页面对应的不同文件包加载过程中,可以将各文件包对应类型的标识信息添加到页面对应的堆栈中。基于此,在监控到页面发生异常的情况下,可以从堆栈返回的堆栈信息中识别发生异常的页面对应的标识信息,以根据该标识信息确定发生异常的文件所属的文件包类型。进一步,基于堆栈返回的堆栈信息和确定的文件包类型,可以在文件包对应的源文件中快速、准确的定位引起异常的程序代码位置,有助于开发人员分析造成异常的原因及解决异常。异常的原因及解决异常。异常的原因及解决异常。

【技术实现步骤摘要】
页面加载方法、设备、装置、存储介质及程序产品


[0001]本申请涉及计算机
,尤其涉及一种页面加载方法、设备、装置、存储介质及程序产品。

技术介绍

[0002]React Native(简称RN)是一款开源的跨平台移动应用开发框架,使用JavaScript(简称JS)语言来开发移动应用,支持iOS和Android两大平台。以在RN框架下使用Android开发移动应用程序为例,当开发人员编写好Android程序后,RN框架会把JS程序打包后的JsBundle文件进行加载。随着业务增加,JsBundle文件的体积会越来越大,特别是在多模块场景下,JsBundle文件的数量会更多,给程序文件的加载效率造成很大影响。因此,根据不同的业务需求对JsBundle文件进行拆包,成为集成RN时必须考虑的问题。
[0003]在现有方案中,在集成RN框架时可以根据业务需求将JsBundle文件拆分成对应不同业务需求的基础包和业务包,其中,基础包中包含有业务包运行所需的基础环境信息,需要在业务包加载之前被加载,在业务包均也被加载的情况下,可以实现应用程序对应的功能。在应用程序运行过程中可能发生JS异常,为了快速、准确定位异常原因,有必要识别异常是基础包和业务包中哪种类型的文件包引起的,但是现有方案中,JS引擎无法快速、准确的区分是基础包还是业务包发生JS异常。

技术实现思路

[0004]本申请提供一种页面加载方法、设备、装置、存储介质及程序产品,用于在加载不同类型的文件包时向页面对应的堆栈中添加与文件包类型对应的标识信息,以在页面发生异常的情况下,根据标识信息快速、准确的定位引起异常的文件包类型。
[0005]本申请实施例提供一种页面加载方法,包括:响应于页面加载请求,获取待加载页面对应的基础文件包和业务文件包,并创建所述待加载页面对应的堆栈;加载所述基础文件包,在成功加载所述基础文件包的情况下,加载所述业务文件包,并在所述堆栈中记录页面加载对应的堆栈信息,所述堆栈信息中包括所述基础文件包和业务文件包分别对应的标识信息;在所述页面运行过程中,监控所述页面是否发生异常;在监控到发生异常的情况下,获取所述堆栈返回的与所述异常对应的目标堆栈信息;识别所述目标堆栈信息中的目标标识信息,根据所述目标标识信息确定引起所述异常的文件包类型。
[0006]在一可选实施例中,在响应于页面加载请求之前,所述方法还包括:获取所述待加载页面对应的多个源文件,对所述多个源文件进行拆分并压缩得到文件包,所述文件包包括基础文件包和业务文件包,为所述基础文件包和业务文件包创建不同的标识信息。
[0007]在一可选实施例中,所述标识信息包括所述基础文件包和所述业务文件包分别对应的名称以及版本号。
[0008]在一可选实施例中,所述堆栈信息以预设格式记录在所述堆栈中,则识别所述目标堆栈信息中的目标标识信息,包括:利用与所述预设格式适配的正则表达式,识别所述目
标堆栈信息中的堆栈的标识符、目标标识信息以及引起所述异常的代码行列号。
[0009]在一可选实施例中,所述方法还包括:根据所述目标标识信息中堆栈的标识符,确定引起页面加载异常的目标源文件;以及根据所述目标堆栈信息中引起所述异常的代码行列号,在所述目标源文件中定位引起所述异常的程序代码位置。
[0010]在一可选实施例中,根据所述目标堆栈信息中引起所述异常的代码行列号,在所述目标源文件中定位引起所述异常的程序代码位置,包括:根据所述目标堆栈信息中引起所述异常的代码行列号以及文件包与源文件之间的内容对应的位置映射关系,在所述目标源文件中定位引起所述异常的程序代码位置。
[0011]本申请实施例还提供一种计算机设备,包括:处理器以及存储有计算机程序的存储器;所述处理器,用于执行所述计算机程序,以用于:响应于页面加载请求,获取待加载页面对应的基础文件包和业务文件包,并创建所述待加载页面对应的堆栈;加载所述基础文件包,在成功加载所述基础文件包的情况下,加载所述业务文件包,并在所述堆栈中记录页面加载对应的堆栈信息,所述堆栈信息中包括所述基础文件包和业务文件包分别对应的标识信息;在页面运行过程中,监控所述页面是否发生异常;在监控到发生异常的情况下,获取堆栈返回的与所述异常对应的目标堆栈信息;识别所述目标堆栈信息中的目标标识信息,并根据所述目标标识信息确定引起所述异常的文件包类型。
[0012]在一可选实施例中,所述处理器还用于:根据所述目标堆栈信息中的目标标识信息,确定引起页面加载异常的目标源文件,并在所述目标源文件中定位引起所述异常的程序代码位置。
[0013]本申请实施例还提供一种数据处理装置,包括:数据获取模块、数据处理模块和监控模块;所述数据获取模块,在响应到页面加载请求的情况下,用于获取待加载页面对应的基础文件包和业务文件包,并创建所述待加载页面对应的堆栈;所述数据处理模块,用于加载所述基础文件包,在成功加载所述基础文件包的情况下,加载所述业务文件包,并在所述堆栈中记录页面加载对应的堆栈信息,所述堆栈信息中包括所述基础文件包和业务文件包分别对应的标识信息;所述监控模块,用于在页面运行过程中,监控所述页面是否发生异常;在监控到发生异常的情况下,获取堆栈返回的与所述异常对应的目标堆栈信息;以及识别所述目标堆栈信息中的目标标识信息,并根据所述目标标识信息确定引起所述异常的文件包类型。
[0014]本申请实施例还提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够实现所述页面加载方法和所述异常定位方法。
[0015]本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现所述页面加载方法和所述异常定位方法。
[0016]在本申请实施例中,在对页面对应的不同文件包加载过程中,可以将各文件包对应类型的标识信息添加到页面对应的堆栈中。基于此,在监控到页面发生异常的情况下,可以从堆栈返回的堆栈信息中识别发生异常的页面对应的标识信息,以根据该标识信息确定发生异常的文件所属的文件包类型。进一步,基于堆栈返回的堆栈信息和确定的文件包类型,可以在文件包对应的源文件中快速、准确的定位引起异常的程序代码位置,有助于开发人员分析造成异常的原因及解决异常。
[0017]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0018]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
[0019]图1a是本申请实施例提供的一种页面加载方法的流程图;
[0020]图1b是本申请实施例提供的一种页面加载阶段到异常定位阶段的整体流程图;
[0021]图2是本申请实施例提供的一种计算机设备的结构示意图;
[0022]图3为本申请实施例提供的一种数据处理装置的结构示意图。
具体实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面加载方法,其特征在于,包括:响应于页面加载请求,获取待加载页面对应的基础文件包和业务文件包,并创建所述待加载页面对应的堆栈;加载所述基础文件包,在成功加载所述基础文件包的情况下,加载所述业务文件包,并在所述堆栈中记录页面加载对应的堆栈信息,所述堆栈信息中包括所述基础文件包和业务文件包分别对应的标识信息;在所述页面运行过程中,监控所述页面是否发生异常;在监控到发生异常的情况下,获取所述堆栈返回的与所述异常对应的目标堆栈信息;识别所述目标堆栈信息中的目标标识信息,根据所述目标标识信息确定引起所述异常的文件包类型。2.根据权利要求1所述的方法,其特征在于,在响应于页面加载请求之前,所述方法还包括:获取所述待加载页面对应的多个源文件,对所述多个源文件进行拆分并压缩得到文件包,所述文件包包括基础文件包和业务文件包,为所述基础文件包和业务文件包创建不同的标识信息。3.根据权利要求2所述的方法,其特征在于,所述堆栈信息以预设格式记录在所述堆栈中,则识别所述目标堆栈信息中的目标标识信息,包括:利用与所述预设格式适配的正则表达式,识别所述目标堆栈信息中的堆栈的标识符、目标标识信息以及引起所述异常的代码行列号。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述目标标识信息中堆栈的标识符,确定引起页面加载异常的目标源文件;以及根据所述目标堆栈信息中引起所述异常的代码行列号,在所述目标源文件中定位引起所述异常的程序代码位置。5.根据权利要求4所述的方法,其特征在于,根据所述目标堆栈信息中引起所述异常的代码行列号,在所述目标源文件中定位引起所述异常的程序代码位置,包括:根据所述目标堆栈信息中引起所述异常的代码行列号以及文件包与源文件之间的内容对应的位置映射关系,在所述目标源文件中定位引起所述异常的程序代码位置。6.一种计算机设备,其特征在于,包括:处理器以及存储有计算机程序的存储器;所述处理器,用于执行所述计算机程序,以用于:响应于页面...

【专利技术属性】
技术研发人员:矫志宇
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1