生成压缩包的方法及装置、计算机设备、存储介质与流程

文档序号:17535194发布日期:2019-04-29 13:54阅读:320来源:国知局
生成压缩包的方法及装置、计算机设备、存储介质与流程

本发明涉及计算机领域,尤其涉及一种生成压缩包的方法及装置、计算机设备、存储介质。



背景技术:

压缩包是应用非常广泛的文件格式,在管理文件,发布文件时,经常会使用到压缩包。

现有技术中,都是用户手动来生成压缩包,如在使用opencms系统(一个专业级别的开源网站内容管理系统)时,压缩包格式需要手动打包,如果文件目录过多,项目过多时手动打包比较耗时且容易出错。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

有鉴于此,本发明实施例提供了一种生成压缩包的方法及装置、计算机设备、存储介质。

一方面,本发明实施例提供了一种生成压缩包的方法,所述方法包括:在webpack的脚手架中创建打包插件,其中,所述打包插件用于自动生成压缩包;根据文件类型选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包;将所述压缩包发送至opencms系统。

可选的,根据文件类型选择指定类型的项目文件包括:选择后缀为html的项目文件,选择后缀为css的项目文件,选择后缀为images的项目文件,选择后缀为js的项目文件。

可选的,根据文件类型选择指定类型的项目文件包括:监测指定储存地址的文件夹中是否包含项目文件;在所述文件夹中包含项目文件时,获取所述项目文件的类型;根据文件类型在所述文件夹中选择指定类型的项目文件。

可选的,将所述项目文件打包生成压缩包包括以下之一:将一个类型的所有项目文件打包生成一个压缩包,其中,每个类型对应一个压缩包;将每个类型的每个项目文件分别进行打包,得到多个压缩包,其中,每个项目文件对应一个压缩包;将多个类型的所有项目文件打包生成为一个压缩包,其中,多个类型的项目文件对应一个压缩包。

可选的,在将所述压缩包发送至opencms系统之后,所述方法还包括:在所述opencms系统中将所述压缩包解压到多个目录路径,得到所述多个所述项目文件,其中,每个类型对应一个目录路径;选择目录路径中的一个或多个目标类型的项目文件,生成安装包。

可选的,在生成安装包之后,所述方法还包括以下至少之一:将所述opencms系统上发布所述安装包;将所述安装包推送到应用商店。

可选的,将所述项目文件打包生成压缩包包括:当压缩条件被触发时,根据预设的压缩周期、压缩范围、和压缩文件存放位置,创建文件名符合设定规则的空压缩文件;获取所述项目文件及其目录结构,并对所述项目文件进行压缩;将压缩后的项目文件和所述目录结构输出到所述空压缩文件,生成zip包。

另一方面,本发明实施例提供了一种生成压缩包的装置,所述装置包括:创建模块,用于在webpack的脚手架中创建打包插件,其中,所述打包插件用于自动生成压缩包;第一生成模块,用于根据文件类型选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包;发送模块,用于将所述压缩包发送至opencms系统。

可选的,所述第一生成模块包括:第一选择单元,用于选择后缀为html的项目文件;第二选择单元,用于选择后缀为css的项目文件;第三选择单元,用于选择后缀为images的项目文件;第四选择单元,用于选择后缀为js的项目文件。

可选的,所述第一生成模块包括:监测单元,用于监测指定储存地址的文件夹中是否包含项目文件;第一获取单元,用于在所述文件夹中包含项目文件时,获取所述项目文件的类型;选择单元,用于根据文件类型在所述文件夹中选择指定类型的项目文件。

可选的,所述第一生成模块包括以下之一:第一生成单元,用于将一个类型的所有项目文件打包生成一个压缩包,其中,每个类型对应一个压缩包;第二生成单元,用于将每个类型的每个项目文件分别进行打包,得到多个压缩包,其中,每个项目文件对应一个压缩包;第三生成单元,用于将多个类型的所有项目文件打包生成为一个压缩包,其中,多个类型的项目文件对应一个压缩包。

可选的,所述装置还包括:在所述发送模块将所述压缩包发送至opencms系统之后,解压缩模块,用于在所述opencms系统中将所述压缩包解压到多个目录路径,得到所述多个所述项目文件,其中,每个类型对应一个目录路径;第二生成模块,用于选择目录路径中的一个或多个目标类型的项目文件,生成安装包。

可选的,所述装置还包括以下至少之一:第一发布模块,用于在所述第二生成模块生成安装包之后,将所述opencms系统上发布所述安装包;第二发布模块,用于在所述第二生成模块生成安装包之后,将所述安装包推送到应用商店。

可选的,所述第一生成模块包括:创建单元,用于当压缩条件被触发时,根据预设的压缩周期、压缩范围、和压缩文件存放位置,创建文件名符合设定规则的空压缩文件;第二获取单元,用于获取所述项目文件及其目录结构,并对所述项目文件进行压缩;第四生成单元,用于将压缩后的项目文件和所述目录结构输出到所述空压缩文件,生成zip包。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过在webpack的脚手架中创建打包插件,然后选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包,最后将所述压缩包发送至opencms系统,可以通过创建的打包插件自动生成压缩包,通过opencms系统来发布压缩包,不需要手动创建压缩包来发布,解决了现有技术中通过opencms系统发布压缩包时效率低的技术问题,提升了生成压缩包的效率和发布压缩包的效率。

【附图说明】

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的一种生成压缩包的移动终端的硬件结构框图;

图2是根据本发明实施例的生成压缩包的方法的流程图;

图3是本发明实施例选择指定类型的项目文件的流程示意图;

图4是根据本发明实施例的生成压缩包的装置的结构框图。

【具体实施方式】

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种生成压缩包的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的生成压缩包的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种生成压缩包的方法,图2是根据本发明实施例的生成压缩包的方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,在webpack的脚手架中创建打包插件,其中,打包插件用于自动生成压缩包;

步骤s204,根据文件类型选择指定类型的项目文件,调用打包插件,将项目文件打包生成压缩包;

步骤s206,将压缩包发送至opencms系统。

通过本实施例的方案,通过在webpack的脚手架中创建打包插件,然后选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包,最后将所述压缩包发送至opencms系统,可以通过创建的打包插件自动生成压缩包,通过opencms系统来发布压缩包,不需要手动创建压缩包来发布,解决了现有技术中通过opencms系统发布压缩包时效率低的技术问题,提升了生成压缩包的效率和发布压缩包的效率。

本实施例中的压缩包可以是zip,rar等格式的压缩包,通过搭建一个webpack脚手架,创建打包插件,这个插件可以根据配置把项目文件(html,css,images,js等后缀的文件)整合压缩,然后生成一个或多个压缩包。

项目文件的格式可以是多个类型的,通过后缀名称来区分,如html,css,images,js等后缀,作为生成压缩包的源文件,在根据文件类型选择指定类型的项目文件时,包括:选择后缀为html的项目文件;选择后缀为css的项目文件;选择后缀为images的项目文件;选择后缀为js的项目文件。

可选的,触发压缩插件的条件,或者是自动启动压缩程序的条件,可以是文件类型或者是存储地址,如在本地监测到预设类型的项目文件,或者是在预设的存储地址扫描到文件时,就自动触发,图3是本发明实施例选择指定类型的项目文件的流程示意图,如图3所示,选择指定类型的项目文件包括:

步骤s302,监测指定储存地址的文件夹中是否包含项目文件;

步骤s304,在文件夹中包含项目文件时,获取项目文件的类型;

步骤s306,根据文件类型在文件夹中选择指定类型的项目文件。

本实施例的压缩插件可以看成是一个指令集合,现有技术中,这些指令集合是手动完成的,而本实施例中的压缩插件可以自动触发完成,这些指令集合及其执行时序包括:确定待压缩的项目文件,选择项目文件,压缩选择的项目文件。压缩项目文件可以是一个一个压缩,也可以集中压缩,如,当压缩插件在指定存储位置检测到一个项目文件后,立即触发选择和压缩的操作,进而生成zip包。可以预先设置触发压缩的一个或多个文件类型;根据类型触发和根据地址触发作为触发压缩的两个触发条件,可以结合或者分开使用。

本实施例中,由于包括多个项目文件,又分属不同的类型,因此存在多个打包生成压缩包的策略,将项目文件打包生成压缩包包括以下之一:将一个类型的所有项目文件打包生成一个压缩包,其中,每个类型对应一个压缩包;将每个类型的每个项目文件分别进行打包,得到多个压缩包,其中,每个项目文件对应一个压缩包;将多个类型的所有项目文件打包生成为一个压缩包,其中,多个类型的项目文件对应一个压缩包。例如,包括a、b、c三个类型的项目文件,每个类型有项目文件,分别是a1、a2、a3、b1、b2、b3、c1、c2、c3,采用上述第一个实施方式,可以生成三个压缩包,每个压缩包的文件分别是:“a1、a2、a3”“b1、b2、b3”,“c1、c2、c3”,采用上述第二个实施方式,可以生成9个压缩包,每个压缩包的文件分别是:“a1”、“a2”、“a3”、“b1”、“b2”、“b3”、“c1”、“c2”、“c3”,采用上述第三个实施方式,可以生成1个压缩包,压缩包的文件是:“a1、a2、a3、b1、b2、b3、c1、c2、c3”。可选的,在多个类型的项目文件依次打包时,可以设置多个文件类型的打包优先级,在逐个打包时,按照优先级进行打包。

在本实施例中,针对一个压缩包的生成过程,将项目文件打包生成压缩包包括:

s11,当压缩条件被触发时,根据预设的压缩周期、压缩范围、和压缩文件存放位置,创建文件名符合设定规则的空压缩文件;

s21,获取项目文件及其目录结构,并对项目文件进行压缩;

s31,将压缩后的项目文件和目录结构输出到空压缩文件,生成zip包。

可选的,在将压缩包发送至opencms系统之后,还包括:

在opencms系统中将压缩包解压到多个目录路径,得到多个项目文件,其中,每个类型对应一个目录路径;

选择目录路径中的一个或多个目标类型的项目文件,生成安装包。

由于opencms自带了解压zip包的功能,因此可以使用该功能来解压缩zip包,webpack压缩zip包的功能与opencms自带解压zip包的功能结合可以实现在opencms上前端资源一键式发布,上传zip包opencms会自动生成与zip包一样名称的目录,将zip包直接解压缩在该目录下,不需要手动新建项目目录。

在本实施例中,可以选择预定格式的项目文件,生成安装包,如安卓平台的安装包包括js后缀的文件,包括浏览器界面的安装包包括html后缀的文件。每个目录对应一个压缩包解压缩后的文件,在解压缩后,在一个类型的文件存在多个目录路径时,将相同类型的文件合并到一个目录下;选择多个目录路径下的文件,生成安装包。一个版本的安装包对应的一个目录清单。

可选的,在生成安装包之后,方法还包括以下至少之一:将opencms系统上发布安装包;将安装包推送到应用商店。根据版本的不同上传到不同的应用商店,如ios的版本上传到苹果应用商店。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种生成压缩包的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明实施例的生成压缩包的装置的结构框图,如图4所示,该装置包括:

创建模块40,用于在webpack的脚手架中创建打包插件,其中,所述打包插件用于自动生成压缩包;

第一生成模块42,用于根据文件类型选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包;

发送模块44,用于将所述压缩包发送至opencms系统。

可选的,可选的,所述第一生成模块包括:第一选择单元,用于选择后缀为html的项目文件;第二选择单元,用于选择后缀为css的项目文件;第三选择单元,用于选择后缀为images的项目文件;第四选择单元,用于选择后缀为js的项目文件。

可选的,所述第一生成模块包括:监测单元,用于监测指定储存地址的文件夹中是否包含项目文件;第一获取单元,用于在所述文件夹中包含项目文件时,获取所述项目文件的类型;选择单元,用于根据文件类型在所述文件夹中选择指定类型的项目文件。

可选的,所述第一生成模块包括以下之一:第一生成单元,用于将一个类型的所有项目文件打包生成一个压缩包,其中,每个类型对应一个压缩包;第二生成单元,用于将每个类型的每个项目文件分别进行打包,得到多个压缩包,其中,每个项目文件对应一个压缩包;第三生成单元,用于将多个类型的所有项目文件打包生成为一个压缩包,其中,多个类型的项目文件对应一个压缩包。

可选的,所述装置还包括:解压缩模块,用于在所述发送模块将所述压缩包发送至opencms系统之后,在所述opencms系统中将所述压缩包解压到多个目录路径,得到所述多个所述项目文件,其中,每个类型对应一个目录路径;第二生成模块,用于选择目录路径中的一个或多个目标类型的项目文件,生成安装包。这部分功能可以设置在opencms系统上,通过通过opencms系统来自动实现,也可以通过生成压缩包的装置来控制实现,在实际运行过程中,生成压缩包的装置和opencms系统运行在一个实体上,或者是运行在多个实体上。

可选的,所述装置还包括以下至少之一:第一发布模块,用于在所述第二生成模块生成安装包之后,将所述opencms系统上发布所述安装包;第二发布模块,用于在所述第二生成模块生成安装包之后,将所述安装包推送到应用商店。

可选的,所述第一生成模块包括:创建单元,用于当压缩条件被触发时,根据预设的压缩周期、压缩范围、和压缩文件存放位置,创建文件名符合设定规则的空压缩文件;第二获取单元,用于获取所述项目文件及其目录结构,并对所述项目文件进行压缩;第四生成单元,用于将压缩后的项目文件和所述目录结构输出到所述空压缩文件,生成zip包。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在webpack的脚手架中创建打包插件,其中,所述打包插件用于自动生成压缩包;

s2,根据文件类型选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包;

s3,将所述压缩包发送至opencms系统。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,在webpack的脚手架中创建打包插件,其中,所述打包插件用于自动生成压缩包;

s2,根据文件类型选择指定类型的项目文件,调用所述打包插件,将所述项目文件打包生成压缩包;

s3,将所述压缩包发送至opencms系统。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1