CN113342400B - 离线包打包方法、装置及计算机设备 - Google Patents

离线包打包方法、装置及计算机设备 Download PDF

Info

Publication number
CN113342400B
CN113342400B CN202110725354.2A CN202110725354A CN113342400B CN 113342400 B CN113342400 B CN 113342400B CN 202110725354 A CN202110725354 A CN 202110725354A CN 113342400 B CN113342400 B CN 113342400B
Authority
CN
China
Prior art keywords
offline
resource
packet
file
package
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
CN202110725354.2A
Other languages
English (en)
Other versions
CN113342400A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110725354.2A priority Critical patent/CN113342400B/zh
Publication of CN113342400A publication Critical patent/CN113342400A/zh
Application granted granted Critical
Publication of CN113342400B publication Critical patent/CN113342400B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种离线包打包方法、装置及计算机设备,该方法包括:获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。本申请还提供一种计算机可读存储介质。本申请能够有效解决将同一资源数据打包成不同版本离线包的打包效率低下,耗时较长的问题。

Description

离线包打包方法、装置及计算机设备
技术领域
本申请涉及互联网技术领域,尤其涉及一种离线包打包方法、装置及计算机设备。
背景技术
随着网络技术的发展,现在的网站信息量越来越大,一个网页上包含的图像、动画、布局、导航等等信息也极其丰富,网页的显示效果越来越动人。然而,网页在显示过程中需要加载的数据量也越来越多了。而对于网页的加载,一般都是根据用户的访问请求加载对应的网页,因此,网页包含的数据量越多,加载所需要的时间也就越长,用户等待的时间也就越长。
现有的解决办法通常是将一些页面数据打包成离线包,可以有效缓解该问题。然而,同一个页面资源,往往需要面向不同的终端或设备的访问,因此,如果将页面数据打包成离线包,那么则需要同时打包成适合不同的终端或版本设备的浏览器访问;随着网络页面资源的数量递增,这种离线包打包过程也会呈现出效率低下,耗时较长的问题。
发明内容
本申请提出一种离线包打包方法、装置及计算机设备,能够解决现有技术中将同一资源数据打包成不同版本离线包的打包效率低下,耗时较长的问题。
首先,为实现上述目的,本申请提供一种离线包打包方法,所述方法包括:
获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。
在一个例子中,所述获取待执行打包的目标文件集,包括:获取待访问资源的原始文件集;根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集。
在一个例子中,当所述待访问资源为网页资源时,所述获取待访问资源的原始文件集,包括:获取所述待访问资源的Json文件包;根据预设的index字段从所述Json文件包中逐一读取出每一个资源文件,并将所有的资源文件作为原始文件集。
在一个例子中,所述静态资源包括HTML资源、JS资源、CSS资源和图片资源中的至少一种。
在一个例子中,所述根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集,包括:获取所述离线包配置文件包括的资源文件清单;根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集。
在一个例子中,根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集,包括:根据预设的资源文件数据格式对所述目标文件集中的每一个资源文件的数据项进行格式校验;将没有通过格式校验的数据项对应的资源文件从所述目标文件集中剔除。
在一个例子中,所述根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包,包括:获取所述复制离线包中的目标资源文件的第一路径地址,所述目标资源文件为所述复制离线包中的任一资源文件;从所述第二离线包版本的打包配置信息中查询出所述目标资源文件的第二路径地址;将所述第二路径地址替换掉所述复制离线包中的所述第一路径地址,得到第二离线包。
此外,为实现上述目的,本申请还提供一种离线包打包装置,所述装置包括:
获取模块,用于获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;打包模块,用于根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;复制模块,用于对所述第一离线包进行复制,得到对应的复制离线包;替换模块,用于根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。
进一步地,本申请还提出一种计算机设备,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的离线包打包方法的步骤。
进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的离线包打包方法的步骤。
相较于现有技术,本申请所提出的离线包打包方法、装置、计算机设备及计算机可读存储介质,能够获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。通过先打包一个版本的离线包,然后根据另外的离线包版本数量进行复制,并根据另外的离线包版本的打包配置信息对复制的离线包进行静态资源路径替换,从而快速得到对应离线包版本的离线包,从而解决了将同一资源数据打包成不同版本离线包的打包效率低下,耗时较长的问题。
附图说明
图1是本申请一实施例的应用环境示意图;
图2是本申请离线包打包方法一具体实施例的流程示意图;
图3是本申请一示例性例子离线包打包的流程效果图;
图4是本申请离线包打包装置一实施例的程序模块示意图;
图5是本申请计算机设备一可选的硬件架构的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
图1是本申请一实施例的应用环境示意图。参阅图1所示,所述计算机设备1与多个用户端10连接。任一用户端10均可以连接并访问所述计算机设备1上的数据,比如通过访问App页面或者网页的方式访问所述计算机设备1上的数据。而所述计算机设备1则可以通过将数据资源打包成离线包,然后发送至用户端10,以提供给用户端10快速地进行数据页面显示。其中,对于不同版本或不同系统的终端设备的用户端10,所述计算机设备1则需要将同一份数据资源打包成不同版本的离线包,然后发送至对应的用户端10存储。
比如,所述计算机设备1需要打包两个版本的离线包,那么,所述计算机设备1能够获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。在本实施例中,所述计算机设备1可作为手机、平板、便携设备、PC机或者服务器等。
当然,在其他实施例中,所述计算机设备1也可以作为一个功能单元,附加到数据服务器(图1未示出)上,然后协助数据服务器执行离线包打包,数据服务器与所有的用户端10连接,并将所述计算机设备1打包好的离线包同步值各个用户端10。
实施例一
图2是本申请离线包打包方法一实施例的流程示意图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备1为执行主体进行示例性描述。
如图2所示,所述离线包打包方法可以包括步骤S200~S206。
步骤S200,获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本。
具体的,所述计算机设备1在执行离线包打包之前,需要获取到待执行打包的目标文件集,以及待执行打包的离线包版本信息。所述离线包版本信息包括将离线包打包成的多个版本,比如适用于H5页面的离线包,以及适用于Ios系统的移动终端的离线包、适用于Andrio系统的移动终端的离线包,等等。在本实施例中,以所述离线包版本信息包括两个离线包版本,即第一离线包版本和第二离线包版本为例来进行说明,而实际应用中,所述离线包版本信息中包括的离线包版本数量不做限制。
在本实施例中,所述计算机设备1获取待执行打包的目标文件集,包括:获取待访问资源的原始文件集;根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集。例如,由于待访问资源可能包括的数据量形式多样,其中有些资源的数据格式并不适合以离线包的形式存储和访问,那么,所述计算机设备1则需要从所述待访问资源对应的原始文件集中筛选出适于以离线包的形式访问的目标文件集。
例如,当所述待访问资源为网页资源时,所述获取待访问资源的原始文件集,包括:获取所述待访问资源的Json文件包;根据预设的index字段从所述Json文件包中逐一读取出每一个资源文件,并将所有的资源文件作为原始文件集。其中,所述静态资源包括HTML资源、JS资源、CSS资源和图片资源中的至少一种。具体的,由于一个网页页面,一般都会包括多种静态资源,比如:HTML,用于显示网页结构;CSS,用于显示层叠样式表;JS,用于实现执行脚本的环境;以及图片等等。
在一示例性例子中,所述计算机设备1根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集,包括:获取所述离线包配置文件包括的资源文件清单;根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集。
例如,由于Node.s脚本中的Fs(File system,文件系统)模块使能够以一种模仿标准POSIX函数的方式与大多数的文件系统进行交互,因此,所述计算机设备1可以通过Node.s中的Fs模块的查询技术,根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集。其中,文件标识码包括每一个文件的Pid,也就是该文件在系统注册过程中标记的唯一标识码。
另外,所述计算机设备1从所述原始文件集中筛选出所述目标文件集的过程,还包括:根据预设的资源文件数据格式对所述目标文件集中的每一个资源文件的数据项进行格式校验;将没有通过格式校验的数据项对应的资源文件从所述目标文件集中剔除。
例如,所述计算机设备1通过Node.s中的Fs模块的查询技术根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件,然后,则会根据预设的资源文件数据格式对查询出的所有资源文件的数据项进行格式校验。其中,资源文件的数据项,可以理解为资源文件中的资源数据,比如,资源文件的数据项为网络访问地址,那么则会根据预设的网络访问地址对该资源文件的数据项进行校验。当校验通过,则说明该资源文件的数据项格式正确,那么,所述计算机设备1则认为后续可以对该资源文件执行离线包打包操作;否则,不将该资源文件作为离线包打包对象。比如,所述计算机设备1通过Node.S脚本的Fs模块检测目标文件集中的每个文件中是否存在Offline.json的配置文件(即是否存在适用于打包成离线包的配置文件);如果存在,则进一步对该文件的数据向配置项进行校验,校验通过则开始对该文件执行离线包打包。
步骤S202,根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包。
具体的,所述计算机设备1根据待访问资源对应的所述原始文件集从抽取到了能够执行离线包打包的所述目标文件集之后,则会进一步根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包。其中,所述计算机设备1执行离线包打包过程,包括:将所述目标文件集中的同类型的所有文件整合成文件压缩包。
例如,当所述目标文件集中包括多个网页的网页数据时,由于每一个网页的网页数据都包括页面框架代码数据,HTML资源数据,JS资源数据,CSS资源数据和图片资源数据;那么,所述计算机设备1则会分别将页面框架代码数据,HTML资源数据,JS资源数据,CSS资源数据和图片资源数据对应的所有文件打包成一个对应的子压缩包文件,然后,所有子压缩包文件合成一个离线包。
在一示例性例子中,所述计算机设备1通过Npm脚本执行打包,该脚本会读取待访问资源的Package.json文件,从入口开始梳理文件脉络,分别将不同类型的文件聚合,并打包成一个整体的文件压缩包。
步骤S204,对所述第一离线包进行复制,得到对应的复制离线包。
步骤S206,根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。
具体的,所述计算机设备1根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包之后,则会进一步对所述第一离线包执行复制,得到对应的复制离线包。然后,所述计算机设备1对所述复制离线包中的静态资源路径执行简单替换,则可以快速获得所述第二离线包版本对应的第二离线包。
在本实施例中,所述计算机设备1根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包,包括:获取所述复制离线包中的目标资源文件的第一路径地址,所述目标资源文件为所述复制离线包中的任一资源文件;从所述第二离线包版本的打包配置信息中查询出所述目标资源文件的第二路径地址;将所述第二路径地址替换掉所述复制离线包中的所述第一路径地址,得到第二离线包。
例如,所述计算机设备1通过使用Node.s的Replace-in-file模块,针对复制离线包的文件夹,遍历出其中的静态资源访问路径,如JS资源、CSS资源、HTML资源里面涉及到的相对路径,分别替换成第二离线包版本的打包配置信息中对于JS资源、CSS资源、HTML资源预设的绝对路径地址。
其中,由于所述离线包版本信息中仅包括第一离线包版本和第二离线包版本,因此,所述计算机设备1仅需要将所述第一离线包复制一份;若所述离线包版本信息中包括多个离线包版本,那么所述计算机设备1需要复制出与离线包版本数量一致的多个复制离线包;然后分别根据不同的离线包版本的打包配置信息将对应的复制离线包中的静态资源路径执行替换,从而得到对应的离线包。
如图3所示,图3是本申请一示例性例子离线包打包的流程效果图。
在本实施例中,所述计算机设备1依次执行以下流程:接收用户触发的打包指令,并执行打包指令;根据打包指令对目标文件集打包,输出离线包;检测离线包版本信息;根据离线包版本信息的版本数量复制离线包;分别遍历复制的离线包,并执行静态资源的路径地址替换,即,根据离线包版本信息中的打包配置信息将复制离线包的静态资源的相对路径地址替换成绝对路径地址;输出多个离线包版本的离线包;完成打包。
综上所述,本实施例所提出的离线包打包方法能够获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。通过先打包一个版本的离线包,然后根据另外的离线包版本数量进行复制,并根据另外的离线包版本的打包配置信息对复制的离线包进行静态资源路径替换,从而快速得到对应离线包版本的离线包,从而解决了将同一资源数据打包成不同版本离线包的打包效率低下,耗时较长的问题。
实施例二
图4示意性示出了根据本申请实施例二的离线包打包装置的框图,该离线包打包装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图4所示,该离线包打包装置400可以包括获取模块410、打包模块420、复制模块430和替换模块440,其中:
获取模块410,用于获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本。
打包模块420,用于根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包。
复制模块430,用于对所述第一离线包进行复制,得到对应的复制离线包。
替换模块440,用于根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。
在示例性的实施例中,获取模块410,还用于:获取待访问资源的原始文件集;根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集。
在示例性的实施例中,当所述待访问资源为网页资源时,获取模块410,还用于:获取所述待访问资源的Json文件包;根据预设的index字段从所述Json文件包中逐一读取出每一个资源文件,并将所有的资源文件作为原始文件集。所述静态资源包括HTML资源、JS资源、CSS资源和图片资源中的至少一种。
在示例性的实施例中,获取模块410,还用于:获取所述离线包配置文件包括的资源文件清单;根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集。以及,根据预设的资源文件数据格式对所述目标文件集中的每一个资源文件的数据项进行格式校验;将没有通过格式校验的数据项对应的资源文件从所述目标文件集中剔除。
在示例性的实施例中,替换模块440,还用于,获取所述复制离线包中的目标资源文件的第一路径地址,所述目标资源文件为所述复制离线包中的任一资源文件;从所述第二离线包版本的打包配置信息中查询出所述目标资源文件的第二路径地址;将所述第二路径地址替换掉所述复制离线包中的所述第一路径地址,得到第二离线包。
实施例三
图5示意性示出了根据本申请实施例三的适于实现离线包打包方法的计算机设备1的硬件架构示意图。本实施例中,计算机设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是具有网关功能的机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,计算机设备1至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备1的内部存储模块,例如该计算机设备1的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备1的外部存储设备,例如该计算机设备1上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备1的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备1的操作系统和各类应用软件,例如离线包打包方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备1的总体操作,例如执行与计算机设备1进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备1与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备1与外部终端相连,在计算机设备1与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的离线包打包方法的程序代码还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本申请实施例。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;对所述第一离线包进行复制,得到对应的复制离线包;根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中离线包打包方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请实施例的优选实施例,并非因此限制本申请实施例的专利范围,凡是利用本申请实施例说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请实施例的专利保护范围内。

Claims (9)

1.一种离线包打包方法,其特征在于,所述方法包括:
获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;
根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;
对所述第一离线包进行复制,得到对应的复制离线包;
根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包;
所述根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包,包括:
获取所述复制离线包中的目标资源文件的第一路径地址,所述目标资源文件为所述复制离线包中的任一资源文件,所述第一路径地址为相对路径地址;
从所述第二离线包版本的打包配置信息中查询出所述目标资源文件的第二路径地址,所述第二路径地址为绝对路径地址;
将所述第二路径地址替换掉所述复制离线包中的所述第一路径地址,得到第二离线包。
2.如权利要求1所述的离线包打包方法,其特征在于,所述获取待执行打包的目标文件集,包括:
获取待访问资源的原始文件集;
根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集。
3.如权利要求2所述的离线包打包方法,其特征在于,当所述待访问资源为网页资源时,所述获取待访问资源的原始文件集,包括:
获取所述待访问资源的Json文件包;
根据预设的index字段从所述Json文件包中逐一读取出每一个资源文件,并将所有的资源文件作为原始文件集。
4.如权利要求3所述的离线包打包方法,其特征在于,所述静态资源包括HTML资源、JS资源、CSS资源和图片资源中的至少一种。
5.如权利要求2所述的离线包打包方法,其特征在于,所述根据预设的离线包配置文件确定所述原始文件集中待执行打包的目标文件集,包括:
获取所述离线包配置文件包括的资源文件清单;
根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集。
6.如权利要求5所述的离线包打包方法,其特征在于,根据所述资源文件清单中的待打包文件的文件标识码从所述原始文件集中查询出对应的所有资源文件作为所述目标文件集,包括:
根据预设的资源文件数据格式对所述目标文件集中的每一个资源文件的数据项进行格式校验;
将没有通过格式校验的数据项对应的资源文件从所述目标文件集中剔除。
7.一种离线包打包装置,其特征在于,所述装置包括:
获取模块,用于获取待执行打包的目标文件集以及待执行打包的离线包版本信息,所述离线包版本信息包括第一离线包版本和第二离线包版本;
打包模块,用于根据所述第一离线包版本的打包配置信息将所述目标文件集打包成第一离线包;
复制模块,用于对所述第一离线包进行复制,得到对应的复制离线包;
替换模块,用于根据所述第二离线包版本的打包配置信息对所述复制离线包进行静态资源路径替换,得到对应的第二离线包;
所述替换模块,还用于获取所述复制离线包中的目标资源文件的第一路径地址,所述目标资源文件为所述复制离线包中的任一资源文件,所述第一路径地址为相对路径地址;从所述第二离线包版本的打包配置信息中查询出所述目标资源文件的第二路径地址,所述第二路径地址为绝对路径地址;将所述第二路径地址替换掉所述复制离线包中的所述第一路径地址,得到第二离线包。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-6中任一项所述的离线包打包方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-6中任一项所述的离线包打包方法的步骤。
CN202110725354.2A 2021-06-29 2021-06-29 离线包打包方法、装置及计算机设备 Active CN113342400B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110725354.2A CN113342400B (zh) 2021-06-29 2021-06-29 离线包打包方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725354.2A CN113342400B (zh) 2021-06-29 2021-06-29 离线包打包方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN113342400A CN113342400A (zh) 2021-09-03
CN113342400B true CN113342400B (zh) 2022-05-17

Family

ID=77481242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725354.2A Active CN113342400B (zh) 2021-06-29 2021-06-29 离线包打包方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN113342400B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368484A (zh) * 2016-05-11 2017-11-21 北京京东尚科信息技术有限公司 网页的静态资源文件的压缩方法及装置、获取方法及装置
CN112256321A (zh) * 2020-11-18 2021-01-22 腾讯科技(深圳)有限公司 静态库打包方法、装置、计算机设备和存储介质
CN112632425A (zh) * 2020-12-10 2021-04-09 京东数字科技控股股份有限公司 一种离线资源文件的生成方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140053056A1 (en) * 2012-08-16 2014-02-20 Qualcomm Incorporated Pre-processing of scripts in web browsers
WO2016049376A1 (en) * 2014-09-24 2016-03-31 Oracle International Corporation System and method for supporting patching in a multitenant application server environment
CN107015996A (zh) * 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种资源访问方法、装置及系统
CN106843869B (zh) * 2017-01-16 2020-04-14 百融云创科技股份有限公司 一种前端开发工程化系统和方法
CN108037927B (zh) * 2017-12-29 2020-10-30 有米科技股份有限公司 开发包打包方法、系统、可读存储介质和计算机设备
CN108304207A (zh) * 2018-03-01 2018-07-20 上海找钢网信息科技股份有限公司 混合app应用程序的资源更新方法及系统
CN109739548B (zh) * 2018-12-28 2022-05-17 Oppo广东移动通信有限公司 程序打包方法、程序打包装置及计算机可读存储介质
CN111125602B (zh) * 2019-12-25 2023-11-14 腾讯音乐娱乐科技(深圳)有限公司 页面构建方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368484A (zh) * 2016-05-11 2017-11-21 北京京东尚科信息技术有限公司 网页的静态资源文件的压缩方法及装置、获取方法及装置
CN112256321A (zh) * 2020-11-18 2021-01-22 腾讯科技(深圳)有限公司 静态库打包方法、装置、计算机设备和存储介质
CN112632425A (zh) * 2020-12-10 2021-04-09 京东数字科技控股股份有限公司 一种离线资源文件的生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113342400A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN104049986B (zh) 插件加载方法及装置
CN112612982A (zh) 网页预加载方法、装置及计算机设备
CN103078945B (zh) 对浏览器崩溃数据进行处理的方法与系统
CN111444455A (zh) 浏览器兼容方法、系统、计算机设备及存储介质
CN108536489B (zh) 匹配资源环境的方法、装置和计算机可读存储介质
CN113672224B (zh) 小程序页面代码生成方法、装置及计算机设备
CN107480117B (zh) 自动化页面表单数据的恢复方法及装置
CN112346818A (zh) 一种容器应用部署方法、装置、电子设备和存储介质
CN112527459B (zh) 一种基于Kubernetes集群的日志分析方法及装置
CN107798064A (zh) 页面处理方法、电子设备及计算机可读存储介质
CN112579118A (zh) 微服务的配置信息更新方法、装置、系统、介质和设备
CN113656107A (zh) 移动应用的加载方法、装置及电子设备
CN108427639B (zh) 自动化测试方法、应用服务器及计算机可读存储介质
CN108885544B (zh) 前端页面国际化处理方法、应用服务器及计算机可读存储介质
CN110602163B (zh) 文件上传方法及装置
WO2019056797A1 (zh) 网络图片的爬取方法、程序及应用服务器
CN112818270B (zh) 数据跨域传递方法、装置及计算机设备
CN114217878A (zh) 一种对象加载方法及系统
CN113342400B (zh) 离线包打包方法、装置及计算机设备
CN113645308A (zh) 移动终端tcp通信、装置、设备及存储介质
CN110989978A (zh) 页面打包方法、装置、电子设备及存储介质
CN111026613A (zh) 日志处理方法及装置
CN116627778A (zh) 业务系统性能监控方法、装置、计算机设备及存储介质
CN115454403A (zh) 页面搭建方法、装置及存储介质
CN112506526B (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