冗余代码的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34462096 阅读:23 留言:0更新日期:2022-08-06 17:27
本发明专利技术实施例提供了一种冗余代码的处理方法、装置、电子设备及存储介质,所述方法包括:获取目标文件,所述目标文件包括HTML类型文件与CSS类型文件;根据所述目标文件的文件内容,生成与所述目标文件对应的抽象语法树;根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合;根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合;从所述CSS类型文件中删除所述样式类名删除集合对应的CSS代码。应的CSS代码。应的CSS代码。

【技术实现步骤摘要】
冗余代码的处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及前端数据处理
,特别是涉及一种冗余代码的处理方法、一种冗余代码的处理装置、一种电子设备以及一种计算机可读存储介质。

技术介绍

[0002]随着前端技术的日益强大,越来越多的生产力都聚焦到速成型的UI(User Interface,用户界面)框架上。对于速成型的UI框架,其通常都是指已封装好大量常规业务逻辑的与应用场景的前端设计框架,这些框架放到工程项目开发项目上可以辅助开发人员进行快速开发,利用框架提供的UI视觉与逻辑组装等能力完成需求业务的开发,以降低开发成本与开发时间。
[0003]其中,对于UI框架,均为基于视觉设计模式开发,从中会大量使用到视觉设计相关的代码,开发过程中开发人员会考虑到所有常规的视觉设计都可能出现的情况,从而导致最终输出阶段产生的CSS(Cascading Style Sheets,层叠样式表)代码的体积巨大。并且,对于一个具有一定用户量的前端工程项目而言,其往往存在一个很长的迭代周期,则每次开发提交的CSS代码都有可能在很紧急发版且未检查清楚的情况下提交上去,在这种情况下,部分代码上线后是否被使用并不清楚,也无法通过检测工具检测CSS代码是否被使用,随着时间的推移很容易造成线上CSS代码冗余。

技术实现思路

[0004]本专利技术实施例是提供一种冗余代码的处理方法、装置、电子设备以及计算机可读存储介质,以解决或部分解决无法对前端工程项目中存在无效且冗余的CSS代码进行处理的问题。
[0005]本专利技术实施例公开了一种冗余代码的处理方法,包括:
[0006]获取目标文件,所述目标文件包括HTML类型文件与CSS类型文件;
[0007]根据所述目标文件的文件内容,生成与所述目标文件对应的抽象语法树;
[0008]根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合;
[0009]根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合;
[0010]从所述CSS类型文件中删除所述样式类名删除集合对应的CSS代码。
[0011]可选地,所述抽象语法树包括与所述HTML类型文件对应的第一抽象语法树以及与所述CSS类型文件对应的第二抽象语法树,所述根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合,包括:
[0012]从所述第一抽象语法树中提取属性节点的节点值,并采用各个所述属性节点的节点值,构建所述HTML类型文件对应的HTML样式类名集合;
[0013]从所述第二抽象语法树中提取规则节点的节点信息,并根据各个所述规则节点的节点信息,构建所述CSS类型文件对应的CSS样式类名集合。
[0014]可选地,所述从所述第二抽象语法树中提取规则节点的节点值,并采用各个所述规则节点的节点值,构建所述CSS类型文件对应的CSS样式类名集合,包括:
[0015]遍历所述第二抽象语法树中各个规则节点,并获取所述规则节点中标签的标签名,将满足预设名称格式的标签名作为目标标签名;
[0016]采用所述目标标签名,构建所述CSS类型文件对应的CSS样式类名集合。
[0017]可选地,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,包括:
[0018]确定所述HTML样式类名集合与所述CSS样式类名集合之间的交集;
[0019]将所述CSS样式类名集合与所述交集之间的差集作为第一样式类名删除集合。
[0020]可选地,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,还包括:
[0021]将所述HTML样式类名集合与所述交集之间的差集作为样式类名保留集合。
[0022]可选地,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,还包括:
[0023]获取所述交集和所述样式类名保留集合中的目标样式类名;
[0024]从所述第一样式类名删除集合中提取与所述目标样式类名之间存在相同类名的第一样式类名,并获取针对所述第一样式类名的正则表达式;
[0025]将满足所述正则表达式的第一样式类名作为需要保留的第二样式类名;
[0026]将所述目标样式类名与所述第二样式类名之间的并集作为第二样式类名删除集合。
[0027]可选地,所述从所述CSS类型文件中删除所述样式类名删除集合对应的CSS代码,包括:
[0028]从所述CSS类型文件对应的第二抽象语法树中查找与所述样式类名删除集合中各个样式类名对应的目标节点,并将所述目标节点从所述第二抽象语法树中删除,得到目标抽象语法树;
[0029]将所述目标抽象语法树转换为目标CSS类型文件。
[0030]可选地,所述获取目标文件,包括:
[0031]获取前端项目文件,所述前端项目文件中包括若干个预设文件;
[0032]获取各个所述预设文件的文件标识信息,并将各个所述预设文件的文件标识信息作为数组元素,构建与所述前端项目文件对应的文件数组;
[0033]遍历所述文件数组,获取各个所述数组元素对应的文件路径;
[0034]将文件路径为HTML类型或CSS类型的数组元素作为目标数组元素,并将所述目标数组元素对应的预设文件作为目标文件。
[0035]可选地,所述文件标识信息至少包括文件名称以及文件后缀名,所述将各个所述预设文件的文件标识信息作为数组元素,构建与所述前端项目文件对应的文件数组,包括:
[0036]将各个所述预设文件的文件名称和文件后缀名作为数组元素,构建与所述前端项目文件对应的文件数组。
[0037]可选地,所述文件内容包括所述目标文件的文件代码,所述根据所述目标文件的文件内容,生成与所述目标文件对应的抽象语法树,包括:
[0038]将各个所述HTML类型文件的文件代码转换为第一抽象语法树,以及将各个所述CSS类型文件的文件代码转换为第二抽象语法树。
[0039]本专利技术实施例还公开了一种冗余代码的处理装置,包括:
[0040]文件获取模块,用于获取目标文件,所述目标文件包括HTML类型文件与CSS类型文件;
[0041]语法树生成模块,用于根据所述目标文件的文件内容,生成与所述目标文件对应的抽象语法树;
[0042]类名确定模块,用于根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合;
[0043]类名集合确定模块,用于根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种冗余代码的处理方法,其特征在于,包括:获取目标文件,所述目标文件包括HTML类型文件与CSS类型文件;根据所述目标文件的文件内容,生成与所述目标文件对应的抽象语法树;根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合;根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合;从所述CSS类型文件中删除所述样式类名删除集合对应的CSS代码。2.根据权利要求1所述的方法,其特征在于,所述抽象语法树包括与所述HTML类型文件对应的第一抽象语法树以及与所述CSS类型文件对应的第二抽象语法树,所述根据各所述目标文件对应的抽象语法树,确定所述HTML类型文件对应的HTML样式类名集合和所述CSS类型文件对应的CSS样式类名集合,包括:从所述第一抽象语法树中提取属性节点的节点值,并采用各个所述属性节点的节点值,构建所述HTML类型文件对应的HTML样式类名集合;从所述第二抽象语法树中提取规则节点的节点信息,并根据各个所述规则节点的节点信息,构建所述CSS类型文件对应的CSS样式类名集合。3.根据权利要求2所述的方法,其特征在于,所述从所述第二抽象语法树中提取规则节点的节点值,并采用各个所述规则节点的节点值,构建所述CSS类型文件对应的CSS样式类名集合,包括:遍历所述第二抽象语法树中各个规则节点,并获取所述规则节点中标签的标签名,将满足预设名称格式的标签名作为目标标签名;采用所述目标标签名,构建所述CSS类型文件对应的CSS样式类名集合。4.根据权利要求1所述的方法,其特征在于,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,包括:确定所述HTML样式类名集合与所述CSS样式类名集合之间的交集;将所述CSS样式类名集合与所述交集之间的差集作为第一样式类名删除集合。5.根据权利要求4所述的方法,其特征在于,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,还包括:将所述HTML样式类名集合与所述交集之间的差集作为样式类名保留集合。6.根据权利要求5所述的方法,其特征在于,所述根据所述HTML样式类名集合与所述CSS样式类名集合进行样式类名筛选,获得样式类名删除集合,还包括:获取所述交集和所述样式类名保留集合中的目标样式类名;从所述第一样式类名删除集合中提取与所述目标样式类名之间存在相同类名的第一样式类名,并获取针对所述第一样式类名的正则表达式;将满足所述正则表达式的第一样式类名作为需要保留的第二样式类名;将所述目标样式类名与所述第二样式类名之间的并集作为第二样式类名删除集合。7.根据...

【专利技术属性】
技术研发人员:杨泽伟
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1