项目代码包压缩方法及装置、存储介质及电子设备与流程

文档序号:29404714发布日期:2022-03-26 10:20阅读:111来源:国知局
项目代码包压缩方法及装置、存储介质及电子设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种项目代码包压缩方法及装置、存储介质及电子设备。


背景技术:

2.目前,在前端项目开发过程中,为了避免样式的重复,再加上bem(block element modifier,块元素编辑器)规范的盛行,前端项目开发中的css(cascading style sheets,层叠样式表)类名尽可能的语义化,这样带来的问题就是,css类名会变得很长,从而导致打包之后项目代码包的体积很大,占用较多的内存,进而导致浏览器无法快速下载项目代码包。
3.因此,如何提供一种对项目代码包进行压缩,以减小项目代码包体积和占用内存的技术方案,是目前本领域技术人员亟需解决的技术问题。


技术实现要素:

4.本技术提供了一种项目代码包压缩方法及装置、存储介质及电子设备,目的在于为实现对项目代码包进行压缩,以减小项目代码包的体积和占用内存。
5.为了实现上述目的,本技术提供了以下技术方案:
6.一种项目代码包压缩方法,包括:
7.获取前端项目的项目信息;所述项目信息包括项目代码或项目代码包,所述项目代码包基于对所述项目代码进行打包得到;
8.采集所述项目信息包括的目标文件中的css类名;所述目标文件包括各个样式文件或超文本标记语言html文件;
9.依次对每个css类名进行重命名,得到每个css类名对应的压缩类名;
10.在所述项目信息包括项目代码的情况下,将所述项目代码包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换css类名后的项目代码进行打包,得到目标项目代码包;
11.在所述项目信息包括项目代码包的情况下,将所述项目代码包包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,得到目标项目代码包。
12.上述的方法,可选的,在所述目标文件包括各个样式文件的情况下,所述采集所述项目信息包括的目标文件中的css类名,包括:
13.获取项目信息包括的各个样式文件的文件名;
14.基于各个样式文件的文件名,确定采集顺序;
15.按照所述采集顺序,依次采集所述项目信息包括的各个样式文件中的css类名。
16.上述的方法,可选的,所述依次对每个css类名进行重命名,得到每个css类名对应的压缩类名,包括:
17.将各个css类名组成类名集合;
18.启动计数器开始初始计数;
19.将所述类名集合中的第一个css类名作为目标css类名;
20.判断所述计数器当前的计数结果是否大于预设阈值;
21.若所述计数器的计数结果不大于预设阈值,则按照字母顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名,若所述计数器的计数大于预设阈值,则按照字母顺序递增规则和数字顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名;
22.对所述计数器进行计数增加处理;
23.若所述目标css类名不为所述类名集合中的最后一个css类名,则将所述类名集合中所述目标css类名的下一个css类名作为新的目标css类名,并基于所述新的目标css类名,返回执行所述判断所述计数器的计数结果是否大于预设阈值的步骤。
24.上述的方法,可选的,所述按照字母顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名,包括:
25.基于所述字母顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的字母;
26.基于所述目标css类名对应的字母,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名。
27.上述的方法,可选的,所述按照字母顺序递增规则和数字顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名,包括:
28.基于所述字母顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的字母;
29.基于所述数字顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的数字;
30.基于所述目标css类名对应的字母和数字,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名。
31.一种项目代码包压缩装置,包括:
32.获取单元,用于获取前端项目的项目信息;所述项目信息包括项目代码或项目代码包,所述项目代码包基于对所述项目代码进行打包得到;
33.采集单元,用于采集所述项目信息包括的目标文件中的css类名;所述目标文件包括各个样式文件或超文本标记语言html文件;
34.重命名单元,用于依次对每个css类名进行重命名,得到每个css类名对应的压缩类名;
35.第一替换单元,用于在所述项目信息包括项目代码的情况下,将所述项目代码包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换css类名后的项目代码进行打包,得到目标项目代码包;
36.第二替换单元,用于在所述项目信息包括项目代码包的情况下,将所述项目代码包包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,得到目标项目代码包。
37.上述的装置,可选的,在所述目标文件包括各个样式文件的情况下,所述采集单元具体用于:
38.获取项目信息包括的各个样式文件的文件名;
39.基于各个样式文件的文件名,确定采集顺序;
40.按照所述采集顺序,依次采集所述项目信息包括的各个样式文件中的css类名。
41.上述的装置,可选的,所述重命名单元具体用于:
42.将各个css类名组成类名集合;
43.启动计数器开始初始计数;
44.将所述类名集合中的第一个css类名作为目标css类名;
45.判断所述计数器当前的计数结果是否大于预设阈值;
46.若所述计数器的计数结果不大于预设阈值,则按照字母顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名,若所述计数器的计数大于预设阈值,则按照字母顺序递增规则和数字顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名;
47.对所述计数器进行计数增加处理;
48.若所述目标css类名不为所述类名集合中的最后一个css类名,则将所述类名集合中所述目标css类名的下一个css类名作为新的目标css类名,并基于所述新的目标css类名,返回执行所述判断所述计数器的计数结果是否大于预设阈值的步骤。
49.一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的项目代码包压缩方法。
50.一种电子设备,包括:
51.存储器,用于存储至少一组指令集;
52.处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的项目代码包压缩方法。
53.一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的项目代码包压缩方法。
54.一种电子设备,包括:
55.存储器,用于存储至少一组指令集;
56.处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的项目代码包压缩方法。
57.与现有技术相比,本技术包括以下优点:
58.本技术提供了一种项目代码包压缩方法及装置、存储介质及电子设备,包括:获取前端项目的项目信息;项目信息包括项目代码或项目代码包,项目代码包基于对项目代码进行打包得到;采集项目信息包括的目标文件中的css类名;目标文件包括各个样式文件或超文本标记语言html文件;依次对每个css类名进行重命名,得到每个css类名对应的压缩类名;在项目信息包括项目代码的情况下,将项目代码中的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换压缩类名后的项目代码进行打包,得到目标项目代码包;在项目信息包括项目代码包的情况下,将项目代码包中的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名
对应的压缩类名,得到目标项目代码包。可见,本技术方案,通过对替换css类名后的项目代码进行打包,或通过对项目代码包包括的html文件中css类名替换为压缩类名,实现了对项目代码包的压缩,从而减小了项目代码包的体积和占用内存。
附图说明
59.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
60.图1为本技术提供的一种项目代码包压缩方法的方法流程图;
61.图2为本技术提供的一种项目代码包压缩方法的又一方法流程图;
62.图3为本技术提供的一种项目代码包压缩方法的再一方法流程图;
63.图4为本技术提供的一种项目代码包压缩方法的示例图;
64.图5为本技术提供的一种项目代码包压缩方法的又一示例图;
65.图6为本技术提供的一种项目代码包压缩装置的结构示意图;
66.图7为本技术提供的一种电子设备的结构示意图。
具体实施方式
67.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
68.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
69.需要注意,本技术公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
70.需要注意,本技术公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
71.本技术实施例提供了一种项目代码包压缩方法,该方法的流程图如图1所示,具体包括:
72.s101、获取前端项目的项目信息。
73.本实施例中,获取前端项目的项目信息,其中,项目信息包括项目代码或项目代码包,项目代码包基于对项目代码进行打包得到。
74.其中,利用预设的打包工具,对项目代码进行打包,得到项目代码包。
75.需要说明的是,预设的打包工具对项目代码进行代码的混淆,缩短项目代码中变量名的长度,不对项目代码中的css类名进行压缩。
76.本实施例中,可以获取前端项目的项目代码,也可以获取前端项目的项目代码包。
77.s102、采集项目信息包括的目标文件中的css类名。
78.本实施例中,项目信息中包括超文本标记语言html文件和多个样式文件,其中,样式文件为css文件,每个样式文件中包括至少一个css类名,超文本标记语言html文件中的class属性用于指向样式文件中的类,也就是说,超文本标记语言html文件中包括所有样式文件中的css类名。
79.本实施例中,采集项目信息包括的目标文件中的css类名,其中,目标文件包括各个样式文件或超文本标记语言html文件,也就是说,采集项目信息包括的各个样式文件中的css类名,或者,采集项目信息包括的超文本标记语言html文件中的各个css类名。
80.参阅图2,在目标文件包括各个样式文件的情况下,采集项目信息包括的目标文件中的css类名的过程,具体包括以下步骤:
81.s201、获取项目信息包括的各个样式文件的文件名。
82.s202、基于各个样式文件的文件名,确定采集顺序。
83.s203、按照采集顺序,依次采集项目信息包括的各个样式文件中的css类名。
84.本实施例中,获取项目信息包括的各个样式文件的文件名,基于各个样式文件的文件名,确定采集顺序,具体的,基于各个样式文件的文件名的ascii码顺序,确定采集顺序,并按照采集顺序,依次采集项目信息包括的各个样式文件中的css类名。
85.s103、依次对每个css类名进行重命名,得到每个css类名对应的压缩类名。
86.本实施例中,依次对每个css类名进行重命名,也就是对所有的css类名进行重命名,实现对css类名的压缩,从而得到每个css类名对应的压缩类名。例如,将css类名从.message-box这种偏语义化的形式压缩为.a。
87.具体的,按照字母顺序递增规则,或,按照字母顺序递增和数字顺序递增规则,依次对每个css类名进行重命名,得到每个css类名对应的压缩类名。
88.s104、在项目信息包括项目代码的情况下,将项目代码包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换css类名后的项目代码进行打包,得到目标项目代码包。
89.本实施例中,在项目信息包括项目代码的情况下,也就是获取的项目信息为获取项目代码的情况下,将项目代码包括的超文本标记语言html文件的每个css类名替换为每个css类名对应的压缩类名,具体的,针对项目代码包括的超文本标记语言html文件中的每个css类名,基于该css类名对应的压缩类名,将该css类名替换为该css类名对应的压缩类名,例如,css类名为message,对该css类名进行重命名后得到的压缩类名为a,将超文本标记语言html文件中的css类名message,替换为压缩类名a。
90.本实施例中,将项目代码包括的各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,具体的,针对项目代码包括的每个样式文件中的每个css类名,基于该css类名对应的压缩类名,将该css类名替换为该css类名对应的压缩类名,例如,css类名为.message,对该css类名进行重命名后得到的压缩类名为.a,将超文本标记语言html文件中的css类名.message,替换为压缩类名.a。
91.本实施例中,在完成对项目代码中的css类名的替换后,对替换css类名后的项目代码进行打包,得到目标项目代码包。由于目标项目代码包是基于对替换css类名后的项目
代码进行打包得到,因此,目标项目代码包相对于直接对项目代码进行打包得到的项目代码包的体积更小,所占内存也更小,从而实现了对项目代码包的压缩。
92.s105、在项目信息包括项目代码包的情况下,将项目代码包包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,得到目标项目代码包。
93.本实施例中,在项目信息包括项目代码包的情况下,也就是所获取的项目信息为项目代码包的情况下,将项目代码包包括的超文本标记语言html文件中的每个css类名替换为每个css类名对应的压缩类名,具体的,针对项目代码包包括的超文本标记语言html文件中的每个css类名,基于该css类名对应的压缩类名,将该css类名替换为该css类名对应的压缩类名;将项目代码包包括的各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,具体的,针对项目代码包包括的每个样式文件中的每个css类名,基于该css类名对应的压缩类名,将该css类名替换为该css类名对应的压缩类名,从而得到目标项目代码包。
94.本实施例中,通过对项目代码包包括的超文本标记语言html文件中css类名替换为压缩类名,实现了对超文本标记语言html文件的压缩,通过对项目代码包包括的各个样式文件中的css类名替换为压缩类名,实现了对样式文件的压缩,从而实现了对项目代码包的压缩。
95.本实施例中,可以将类名压缩的能力集成到预设的打包工具中,在对项目打包进行打包时,即可同步进行类名的压缩,也可以对打包后的项目代码包中的css类名进行类名压缩,即直接修改打包完成的项目代码。
96.本技术实施例提供的项目代码包压缩方法中,由于目标项目代码包是基于对替换css类名后的项目代码进行打包得到,因此,目标项目代码包相对于直接对项目代码进行打包得到的项目代码包的体积更小,所占内存也更小,从而实现了对项目代码包的压缩。
97.本技术实施例提供的项目代码包压缩方法中,通过对项目代码包包括的超文本标记语言html文件中css类名替换为压缩类名,实现了对超文本标记语言html文件的压缩,通过对项目代码包包括的各个样式文件中的css类名替换为压缩类名,实现了对样式文件的压缩,从而实现了对项目代码包的压缩。
98.参阅图3,本技术实施例提供的项目代码包压缩方法,步骤s103的实现过程,具体包括以下步骤:
99.s301、将各个css类名组成类名集合。
100.本实施例中,将各个css类名组成类名集合,示例性的,类名集合中各个css类名按照采集各个css类名的采集顺序排列。
101.s302、启动计数器开始初始计数。
102.本实施例中,启动计数器开始初始计数,可选的,启动计数器开始初始计数为1。
103.s303、将类名集合中的第一个css类名作为目标css类名。
104.s304、判断计数器当前的计数结果是否大于预设阈值,若否,执行s305,若是,执行s306。
105.本实施例中,判断计数器当前的计数结果是否大于预设阈值,示例性的,预设阈值可以是26。
106.s305、按照字母顺序递增规则,对目标css类名进行重命名,得到目标css类名对应的压缩类名。
107.本实施例中,若计数器当前的计数结果不大于预设阈值,则按照字母顺序递增规则,对目标css类名进行重命名,得到目标css类名对应的压缩类名,具体的,基于字母顺序递增规则和计数器当前的计数结果,确定目标css类名对应的字母,基于目标css类名对应的字母,对目标css类名进行重命名,得到目标css类名对应的压缩类名。
108.需要说明的是,字母顺序递增规则即为按照字母表中各个字母的顺序递增规则。
109.示例性的,目标css类名为.main,若计数器当前的计数结果为1,则基于字母顺序递增规则,确定目标css类名对应的字母a,则基于字母为a,对目标css类名.main进行重命名为.a;若计数器当前的计数结果为26,则基于字母顺序递增规则,确定目标css类名对应的字母为z,则基于字母z,对目标css类名.main进行重命名为.z。
110.s306、按照字母顺序递增规则和数字顺序递增规则,对目标css类名进行重命名,得到目标css类名对应的压缩类名。
111.本实施例中,若计数器当前的计数结果不大于预设阈值,则按照字母顺序递增规则和数字顺序递增规则,对目标css类名进行重命名,得到目标css类名对应的压缩类名,具体的,基于字母顺序递增规则和计数器当前的计数结果,确定目标css类名对应的字母,基于数字顺序递增规则和所述计数器当前的计数结果,确定目标css类名对应的数字,基于目标css类名对应的字母和数字,对目标css类名进行重命名,得到目标css类名对应的压缩类名。
112.可选的,数字递增规则可以是36进制数字递增规则。
113.示例性的,目标css类名为.label,若计数器当前的计数结果为27,则基于字母顺序递增规则,确定目标css类名对应的字母为a,基于数字递增规则,确定目标css类名对应的数字为36进制数字0,则基于字母a和36进制数字0,对.label重命名为.a0;若计数器当前的计数结果为63,则基于字母顺序递增规则,确定目标css类名对应的字母为a,基于数字递增规则,确定目标css类名对应的数字为36进制数字z,则基于字母a和36进制数字0,对.label重命名为.az;
114.s307、对计数器进行计数增加处理。
115.本实施例中,对计数器进行计数增加处理,也就是对计数器的计数结果累加上一个预设数值,示例性的,预设数值可以是1,即对计数器进行计数加一处理;示例性的,预设数值也可以是2,也就是对计数器进行计数加二处理。
116.需要说明的是,本技术不对预设数值进行具体的限定,预设数值可以根据需求进行调整。
117.s308、判断目标css类名是否为类名集合中的最后一个css类名,若否,执行s309,若是,直接结束。
118.本实施例中,判断目标css类名是否为类名集合中的最后一个css类名,若目标css类名为类名集合中的最后一个css类名,则说明完成了对类名集合中所有css类名的重命名,并直接结束,若目标css类名不为类名集合中的最后一个css类名,则说明未完成对类名集合中所有css类名的重命名,则执行步骤s309。
119.s309、将类名集合中目标css类名的下一个css类名作为新的目标css类名,并基于
新的目标css类名,返回执行s304。
120.本实施例中,若目标css类名不为类名集合中的最后一个css类名,则将类名集合中目标css类名的下一个css类名作为新的目标css类名,并基于新的目标css类名,返回执行步骤s304。
121.本实施例中,对类名集合中各个css类名的顺序依次重命名,不过css类名不能以数字开头,所以,通过字母来替代数字,将1到26个css类名重命名为a到z的26个字母,后面的类名可直接加上数字,第27个类名命名为a0,第28个类名命名为a1。为了让类名长度更加精简,可以将首字母后的数字改为36进制,这样从第27个类名到第63个类名可以依次重命名为a0、a1...aa、ab...az,然后依次类推,第64个类名到第100个类名依次为b0、b1...ba、bb...bz,以此类推。
122.参阅图4,对上述提及的步骤s103的具体实现过程进行举例说明如下:
123.类名集合中包括索引1类名(也就是第一个css类名)“.main”、索引2类名(也就是第二个css类名)“.sider”、
……
、索引26类名“.logo”、索引27类名“.lable”、索引28类名“.value”、
……
、索引37类名“.link”、
……
、索引63类名“.info”。
124.对前26个css类名(包括第26个css类名),按照字母顺序递增规则,对索引1类名“.main”重命名为“.a”,也就是说,索引1类名“.main”压缩后得到“.a”,同理,索引2类名“.sider”压缩后得到“.b”,索引26类名“.logo”压缩后得到“.z。
125.对第27个至63个css类名,按照字母顺序递增规则和36进制数字递增规则,对索引27类名“.lable”重命名为“.a0”,也就是说,索引27类名“.lable”压缩后得到“.a0”,同理,索引28类名“.value”压缩后得到“.a1”,索引37类名“.link”压缩后得到“.aa,索引37类名“.info”压缩后得到“.az。
126.本技术实施例提供的项目代码包压缩方法,按照字母顺序递增规则和数字递增规则,依次对每个css类名进行重命,以实现对每个css类名的压缩。
127.参阅图5,对上述提及的项目代码包压缩方法的具体实现过程进行举例说明如下:
128.扫描前端项目的项目代码包包括的所有的样式文件,样式文件包括app.csss、home.css和theme.css。从各个样式文件中提取css类名,将所提取的css类名写入类名set集合(也就是上述提及的类名集合)中,类名set集合包括的css类名有.messge、.message-box、.message-title、
……
、.message-content。
129.对类名set集合中的每个css类名进行重命名,实现类名压缩精简,得到.messge的压缩类名为.a,.message-box的压缩类名为.b,.message-title的压缩类名为.c,.message-content的压缩类名为.d。
130.将所有css文件中的类名替换为压缩精简后的压缩类名,也就是将src/app.css中的.message{},替换为.a{},将src/app.css中的.message-title h1{},替换为.b h1{},并将html文件中的class属性对应的类名进行对应替换,也就是将src/index.html中的《div class=“message”》,替换为《div class=“a”》,将src/index.html中的《div class=“message-title”》,替换为《div class=“b”》,由于《h1》xxx《h1》、《/div》和《/div》不是css类名因此不做替换。
131.需要说明的是,虽然采用特定次序描绘了各指令,但是这不应当理解为要求这些指令以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可
能是有利的。
132.应当理解,本技术公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本技术公开的范围在此方面不受限制。
133.与图1所述的方法相对应,本技术实施例还提供了一种项目代码包压缩装置,用于对图6中方法的具体实现,其结构示意图如图6所示,具体包括:
134.获取单元601,用于获取前端项目的项目信息;所述项目信息包括项目代码或项目代码包,所述项目代码包基于对所述项目代码进行打包得到;
135.采集单元602,用于采集所述项目信息包括的目标文件中的css类名;所述目标文件包括各个样式文件或超文本标记语言html文件;
136.重命名单元603,用于依次对每个css类名进行重命名,得到每个css类名对应的压缩类名;
137.第一替换单元604,用于在所述项目信息包括项目代码的情况下,将所述项目代码包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换css类名后的项目代码进行打包,得到目标项目代码包;
138.第二替换单元605,用于在所述项目信息包括项目代码包的情况下,将所述项目代码包包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,得到目标项目代码包。
139.本技术实施例提供的项目代码包压缩装置,实现了对项目代码包的压缩,从而减小了项目代码包的体积和占用内存。
140.在本技术的一个实施例中,基于前述方案,在所述目标文件包括各个样式文件的情况下,采集单元602具体用于:
141.获取项目信息包括的各个样式文件的文件名;
142.基于各个样式文件的文件名,确定采集顺序;
143.按照所述采集顺序,依次采集所述项目信息包括的各个样式文件中的css类名。
144.在本技术的一个实施例中,基于前述方案,重命名单元603具体用于:
145.将各个css类名组成类名集合;
146.启动计数器开始初始计数;
147.将所述类名集合中的第一个css类名作为目标css类名;
148.判断所述计数器当前的计数结果是否大于预设阈值;
149.若所述计数器的计数结果不大于预设阈值,则按照字母顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名,若所述计数器的计数大于预设阈值,则按照字母顺序递增规则和数字顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名;
150.对所述计数器进行计数增加处理;
151.若所述目标css类名不为所述类名集合中的最后一个css类名,则将所述类名集合中所述目标css类名的下一个css类名作为新的目标css类名,并基于所述新的目标css类名,返回执行所述判断所述计数器的计数结果是否大于预设阈值的步骤。
152.在本技术的一个实施例中,基于前述方案,重命名单元603在照字母顺序递增规
则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名时,具体用于:
153.基于所述字母顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的字母;
154.基于所述目标css类名对应的字母,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名。
155.在本技术的一个实施例中,基于前述方案,重命名单元603在按照字母顺序递增规则和数字顺序递增规则,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名时,具体用于:
156.基于所述字母顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的字母;
157.基于所述数字顺序递增规则和所述计数器当前的计数结果,确定所述目标css类名对应的数字;
158.基于所述目标css类名对应的字母和数字,对所述目标css类名进行重命名,得到所述目标css类名对应的压缩类名。
159.本技术实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的项目代码包压缩方法。
160.本技术实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器701,用于存储至少一组指令集;处理器702,用于执行所述存储器中存储的指令集,通过执行所述指令集实现以下操作:
161.获取前端项目的项目信息;所述项目信息包括项目代码或项目代码包,所述项目代码包基于对所述项目代码进行打包得到;
162.采集所述项目信息包括的目标文件中的css类名;所述目标文件包括各个样式文件或超文本标记语言html文件;
163.依次对每个css类名进行重命名,得到每个css类名对应的压缩类名;
164.在所述项目信息包括项目代码的情况下,将所述项目代码包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,并对替换css类名后的项目代码进行打包,得到目标项目代码包;
165.在所述项目信息包括项目代码包的情况下,将所述项目代码包包括的超文本标记语言html文件和各个样式文件中的每个css类名替换为每个css类名对应的压缩类名,得到目标项目代码包。
166.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
167.虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本技术公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
168.以上描述仅为本技术公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术公开中所涉及的公开范围,并不限于上述技术特征的特定组合而
成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1