一种离线资源文件的生成方法、装置、设备及存储介质制造方法及图纸

技术编号:28035930 阅读:19 留言:0更新日期:2021-04-09 23:18
本发明专利技术实施例公开了一种离线资源文件的生成方法、装置、设备及存储介质。该方法包括:获取页面对应的在线资源文件,并对在线资源文件进行解析,得到解析结果;根据在线资源文件对应的路径替换列表,将解析结果中的待替换资源路径替换为目标资源路径;获取与待替换资源路径对应的页面资源,并将页面资源保存在与目标资源路径对应的存储位置;基于替换后的解析结果和页面资源,生成离线资源文件。本发明专利技术实施例通过对在线资源文件进行解析,对解析结果中的待替换资源路径进行替换,并将待替换资源路径对应的页面资源保存在与目标资源路径对应的存储位置,解决了开发人员的工作量大的问题,降低了开发人员的开发难度以及提高了资源文件的转换效率。

【技术实现步骤摘要】
一种离线资源文件的生成方法、装置、设备及存储介质
本专利技术实施例涉及计算机
,尤其涉及一种离线资源文件的生成方法、装置、设备及存储介质。
技术介绍
现有客户端的页面加载过程,普遍存在页面资源加载速度慢和网络依赖的问题。为提高资源的加载速度和降低网络依赖性,目前常用的技术手段是将页面资源提前存储在客户端的本地缓存中,当客户端对页面进行加载时,直接从本地缓存中获取加载所需的页面资源。为了实现页面资源在本地缓存,需要在在线资源文件(比如HTML文件)中引入manifest(清单)属性,用于定义需要缓存的页面资源,以使客户端在进行页面加载的同时进行页面资源的下载。或是采用人工的方式,将在线资源文件转换为离线资源文件,其中,离线资源文件包括已下载的页面资源,将离线资源文件发送给客户端。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在以下技术问题:在在线资源文件中引入manifest属性,会增加客户端开发人员的开发难度和工作量。而人工转换的方式容易出现遗漏或出错,操作速度慢且麻烦,效率低下。
技术实现思路
本专利技术实施例提供了一种离线资源文件的生成方法、装置、设备及存储介质,降低开发人员的开发难度和工作量,提高资源文件的转换效率。第一方面,本专利技术实施例提供了一种离线资源文件的生成方法,该方法包括:获取页面对应的在线资源文件,并对所述在线资源文件进行解析,得到解析结果;根据所述在线资源文件对应的路径替换列表,将所述解析结果中的待替换资源路径替换为目标资源路径;获取与所述待替换资源路径对应的页面资源,并将所述页面资源保存在与所述目标资源路径对应的存储位置;基于替换后的解析结果和所述页面资源,生成离线资源文件。第二方面,本专利技术实施例还提供了一种离线资源文件的生成装置,该装置包括:在线资源文件解析模块,用于获取页面对应的在线资源文件,并对所述在线资源文件进行解析,得到解析结果;待替换资源路径替换模块,用于根据所述在线资源文件对应的路径替换列表,将所述解析结果中的待替换资源路径替换为目标资源路径;页面资源保存模块,用于获取与所述待替换资源路径对应的页面资源,并将所述页面资源保存在与所述目标资源路径对应的存储位置;离线资源文件生成模块,用于基于替换后的解析结果和所述页面资源,生成离线资源文件。第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述所涉及的任一所述的离线资源文件的生成方法。第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行上述所涉及的任一所述的离线资源文件的生成方法。上述专利技术中的实施例具有如下优点或有益效果:本专利技术实施例通过对在线资源文件进行解析,对解析结果中的待替换资源路径进行替换,并将待替换资源路径对应的页面资源保存在与目标资源路径对应的存储位置,解决了需要人工将在线资源文件转换为离线资源文件的问题,在降低了开发人员的开发难度和工作量的同时,提高了资源文件的转换效率和转换质量。附图说明图1是本专利技术实施例一提供的一种离线资源文件的生成方法的流程图。图2是本专利技术实施例二提供的一种离线资源文件的生成方法的流程图。图3是本专利技术实施例三提供的一种离线资源文件的生成方法的流程图。图4是本专利技术实施例三提供的一种离线资源文件的生成方法的具体实例的流程图。图5是本专利技术实施例四提供的一种离线资源文件的生成装置的示意图。图6是本专利技术实施例五提供的一种电子设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一提供的一种离线资源文件的生成方法的流程图,本实施例可适用于将在线资源文件转换为离线资源文件的情况,该方法可以由离线资源文件的生成装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可以配置于终端设备中。具体包括如下步骤:S110、获取页面对应的在线资源文件,并对在线资源文件进行解析,得到解析结果。其中,示例性的,在线资源文件包括在线静态资源文件。其中,静态资源文件用于描述在前端页面中不常被改动的页面资源对应的文件。在一个实施例中,可选的,在线资源文件包括超本文标记语言HTML文件、层叠样式表CSS文件和脚本语言JS文件中至少一种。其中,具体的,HTML(HyperTextMarkupLanguage,超文本标记语言)是一种标识性的全置标记语言,它包括一系列标签,通过这些标签可以将文档格式统一,使分散的页面资源连接为一个逻辑整体。其中,具体的,CSS(CascadingStyleSheets,层叠样式表)是一种用于表现HTML或XML(eXtensibleMarkupLanguage,可扩展标记预语言)等文件样式的计算机语言,CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态的对页面各元素进行格式化。JS(javascript)是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。在一个实施例中,可选的,基于URL(UniformResourceLocator,统一资源定位器)地址,获取服务端发送的HTML文件。在一个实施例中,可选的,对HTML文件进行解析,基于解析结果中的资源路径,获取服务端发送的CSS文件或JS文件。在一个实施例中,可选的,当在线资源文件包括HTML文件时,解析结果包括文档对象模型树。其中,示例性的,文档对象模型(DocumentObjectModel,DOM)是一个能够让程序和脚本动态访问和更新文档内容、结构和样式的语言平台,也是一个描述了文档对象的逻辑结构及各功能部件的标准接口。DOM树描绘了一个层次化的节点树,将HTML文件中的所有内容(标签、文本和路径属性等)都封装为节点。在一个实施例中,可选的,当在线资源文件包括CSS文件时,解析结果包括脚本对象。其中,示例性的,脚本对象是采用JavaScript语言编译的对象。在一个实施例中,可选的,当在线资源文件包括JS文件时,解析结果包括抽象语法树。其中,示例性的,抽象语法树(AbstractSyntaxTree,AST)是源代码语法结构的一种抽象表示,它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。S120、根据在线资源文件对应的路径替换列表,将解析结果中的待替换资源路径替换为目标资源路径。其中,具体的,路径替换列表记录有至少一个待替换资源路径以及与各待替换资源路径分别对应的目标资源路径。在本文档来自技高网...

【技术保护点】
1.一种离线资源文件的生成方法,其特征在于,包括:/n获取页面对应的在线资源文件,并对所述在线资源文件进行解析,得到解析结果;/n根据所述在线资源文件对应的路径替换列表,将所述解析结果中的待替换资源路径替换为目标资源路径;/n获取与所述待替换资源路径对应的页面资源,并将所述页面资源保存在与所述目标资源路径对应的存储位置;/n基于替换后的解析结果和所述页面资源,生成离线资源文件。/n

【技术特征摘要】
1.一种离线资源文件的生成方法,其特征在于,包括:
获取页面对应的在线资源文件,并对所述在线资源文件进行解析,得到解析结果;
根据所述在线资源文件对应的路径替换列表,将所述解析结果中的待替换资源路径替换为目标资源路径;
获取与所述待替换资源路径对应的页面资源,并将所述页面资源保存在与所述目标资源路径对应的存储位置;
基于替换后的解析结果和所述页面资源,生成离线资源文件。


2.根据权利要求1所述的方法,其特征在于,所述根据所述在线资源文件对应的路径替换列表,将获取到的所述解析结果中的待替换资源路径替换为目标资源路径,包括:
当接收到转换指令时,获取所述转换指令中的路径替换参数;其中,所述路径替换参数包括路径替换列表和预设路径对象;
对所述解析结果进行遍历,获取所述解析结果中与所述预设路径对象对应的待替换资源路径,并基于所述路径替换列表,将所述待替换资源路径替换为目标资源路径。


3.根据权利要求2所述的方法,其特征在于,所述在线资源文件包括超本文标记语言HTML文件、层叠样式表CSS文件和脚本语言JS文件中至少一种。


4.根据权利要求3所述的方法,其特征在于,当所述在线资源文件包括HTML文件时,所述解析结果包括文档对象模型树,所述预设路径对象包括预设标签节点,其中,所述预设标签节点包括脚本节点、链接节点和图像节点中至少一种。


5.根据权利要求3所述的方法,其特征在于,当所述在线资源文件包括CSS文件时,所述解析结果包括脚本对象,所述预设路径对象包括预设字段,其中,所述预设字段包括背景字段、背景图片字段、目录字段和字体字段中至少一种。


6.根据权利要求3所述的方法,其特征在于,当所述在线资源文件包括JS文件时,所述解析结果包括抽象语法树,所述预设路径对象包括预设类别,所述转换指令中的路径替换参数还包括预设资源路径集合;
相应的,所述获取所述解析结果中与所述预设路径对象对应的待替换资源路径,包括:
获取所述抽象语法树中与所述预设类别对应的至少一个目标字符串;其中,所述预设类别包括标识符类别和/或字符串字面常量类别;
将各所述目标字符串分别与所述预设资源路径集合中的路径字符串进行匹配,并将匹配成功的目标字符串作为待替换资源路径。


7.根据权利要求6所述的方法,其特征在于,所述路径替换参数还包括字符串拼接参数;
相应的,所述将匹配成功的目标字符串作为待替换资源路径,包括:
如果所述字符串拼接参数中存在与至少两个匹配成功的目标字符串对应的目标拼接参数,则根据所述目标拼接参数将各所述匹配成功的目标字符串进行拼接,并将拼接后的字符串作为一个待替换资源路径。


8.根据权利要求1-7任一所述的方法,其特征在于,所述路径替换参数还包括非替换资源类型;
相应的,所述根据所述在线资源文件对应的路径替换列表,将所述解析结果中的待替换资源路径替换为目标资源路径,包括:
将解析结果中的当前待替换资源路径所属的资源类型与所述非替换资源类型进行匹配;
如果匹配不成...

【专利技术属性】
技术研发人员:张恒刘威
申请(专利权)人:京东数字科技控股股份有限公司
类型:发明
国别省市:北京;11

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

1