
技术摘要:
本公开实施例公开了一种文件生成方法、装置、设备及存储介质。该方法包括:获取超文本文件,并生成与所述超文本文件对应的字符串文件,字符串文件中包括嵌套方式构成的多组开闭标签,每组开闭标签对应一个类名;根据所述字符串文件中包括的各开闭标签,对字符串文件进 全部
背景技术:
随着前端开发的发展,越来越多的工具用来提高开发效率。目前,在前端开发中, 编写页面代码通常包括超文本标记语言(Hyper Text Markup Language,HTML)代码和层叠 样式表(Cascading Style Sheets,CSS)代码。 超文本代码中有许多类属性的声明,当CSS代码中存在与这些声明对应的声明代 码时,CSS代码才能生效,如果超文本代码中的声明名字与CSS代码中的声明名字不同,则 CSS代码不会生效。因此,当超文本代码中的标签很多时,需要生成的CSS声明代码也会很 多,这会造成大量的重复劳动,产生大量的CSS声明代码的拼写错误。
技术实现要素:
本公开实施例提供一种文件生成方法、装置、设备及存储介质,以实现根据超文本 文件自动生成CSS声明文件,提高前端开发的效率和准确率。 第一方面,本公开实施例提供了一种文件生成方法,包括: 获取超文本文件,并生成与超文本文件对应的字符串文件,字符串文件中包括嵌 套方式构成的多组开闭标签,每组开闭标签对应一个类名; 根据字符串文件中包括的各开闭标签,对字符串文件进行解析,得到树形结构的 目标数据对象,树形结构用于描述多组开闭标签的嵌套方式; 根据目标数据对象,生成与超文本文件对应的声明文件。 可选的,根据字符串文件中包括的各开闭标签,对字符串文件进行解析,得到树形 结构的目标数据对象,包括: 对字符串文件中包括的各开闭标签进行遍历,并将各开闭标签之间的嵌套关系以 及与每组开闭标签分别对应的类名,嵌套存储于多个数据对象中,得到目标数据对象; 其中,数据对象包括:数组成员和字符串成员。 可选的,对字符串文件中包括的各开闭标签进行遍历,并将各开闭标签之间的嵌 套关系以及与每组开闭标签分别对应的类名,嵌套存储于多个数据对象中,得到目标数据 对象,包括: 初始化创建一个数据对象,并建立操作对象初始化指向数据对象; 对字符串文件进行遍历,并在遍历至一个开标签时,创建新的数据对象; 将新的数据对象中的字符串成员设置为当前遍历的开标签的类名,并将新的数据 对象插入至操作对象当前指向的数据对象中; 将操作对象当前所指向的数据对象作为回溯信息存储后,设置操作对象指向新的 数据对象; 4 CN 111596907 A 说 明 书 2/9 页 在遍历至一个闭标签时,操作对象设置为指向回溯信息中记录的数据对象,并在 遍历结束后,将操作对象当前指向的数据对象作为目标数据对象。 可选的,根据目标数据对象,生成与超文本文件对应的声明文件,包括: 根据目标数据对象的嵌套方式,按照从最上层至最底层的顺序,对目标数据对象 进行解嵌套处理,得到与每一层嵌套结构分别对应的类名,并按照嵌套方式生成与各类名 分别对应的声明代码,得到声明文件。 可选的,按照嵌套方式生成与各类名分别对应的声明代码,得到声明文件,包括: 按照最底层至最上层的顺序,从最底层开始依次获取一个数据对象,并按照:’圆 点符号、数据对象中的字符串成员、左括号、下一层数据对象对应的声明代码以及右括号的 顺序,构造与各数据对象分别对应的声明代码,直至得到与目标数据对象对应的声明代码; 根据与目标数据对象对应的声明代码,构造与超文本文件对应的声明文件; 其中,最底层数据对象对应的声明代码是按照:圆点符号、最底层数据对象中的字 符串成员、左括号以及右括号的顺序构造的。 第二方面,本公开实施例还提供了一种文件生成装置,包括: 获取模块,用于获取超文本文件,并生成与超文本文件对应的字符串文件,字符串 文件中包括嵌套形式方式构成的多组开闭标签,每组开闭标签对应一个类名; 解析模块,用于根据字符串文件中包括的各开闭标签,对字符串文件进行解析,得 到树形结构的目标数据对象,树形结构用于描述多组开闭标签的嵌套形式方式; 生成模块,用于根据目标数据对象,生成与超文本文件对应的声明文件。 可选的,解析模块,具体用于: 对字符串文件中包括的各开闭标签进行遍历,并将各开闭标签之间的嵌套关系以 及与每组开闭标签分别对应的类名,嵌套存储于多个数据对象中,得到目标数据对象; 其中,数据对象包括:数组成员和字符串成员。 可选的,解析模块,具体用于: 初始化创建一个数据对象,并建立操作对象初始化指向数据对象; 对字符串文件进行遍历,并在遍历至一个开标签时,创建新的数据对象; 将新的数据对象中的字符串成员设置为当前遍历的开标签的类名,并将新的数据 对象插入至操作对象当前指向的数据对象中; 将操作对象当前所指向的数据对象作为回溯信息存储后,设置操作对象指向新的 数据对象; 在遍历至一个闭标签时,操作对象设置为指向回溯信息中记录的数据对象,并在 遍历结束后,将操作对象当前指向的数据对象作为目标数据对象。 第三方面,本公开实施例还提供了一种设备,设备包括: 一个或多个处理器; 存储装置,用于存储一个或多个程序, 当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本公 开实施例的文件生成方法。 第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机 程序,该程序被处理器执行时实现如本公开实施例的文件生成方法。 5 CN 111596907 A 说 明 书 3/9 页 本公开实施例通过获取超文本文件,并生成与超文本文件对应的字符串文件,字 符串文件中包括嵌套方式构成的多组开闭标签,每组开闭标签对应一个类名;根据字符串 文件中包括的各开闭标签,对字符串文件进行解析,得到树形结构的目标数据对象,树形结 构用于描述多组开闭标签的嵌套方式;根据目标数据对象,生成与超文本文件对应的声明 文件,解决了现有技术中人工生成CSS声明代码工作量较大,以及CSS声明代码拼写错误较 多的问题,实现了根据超文本文件自动生成CSS声明文件,提高前端开发的效率和准确率。 附图说明 图1是本公开实施例一中的一种文件生成方法的流程图; 图2a是本公开实施例二中的一种文件生成方法的流程图; 图2b是本公开实施例二中的一种主方法的流程图; 图2c是本公开实施例二中的一种副方法的流程图; 图3是本公开实施例三中的一种文件生成装置的结构示意图; 图4是本公开实施例四中的一种设备的结构示意图。