CN117193838A - 小程序样式文件的优化方法及装置 - Google Patents
小程序样式文件的优化方法及装置 Download PDFInfo
- Publication number
- CN117193838A CN117193838A CN202311153095.6A CN202311153095A CN117193838A CN 117193838 A CN117193838 A CN 117193838A CN 202311153095 A CN202311153095 A CN 202311153095A CN 117193838 A CN117193838 A CN 117193838A
- Authority
- CN
- China
- Prior art keywords
- applet
- file
- files
- style
- page
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012216 screening Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 23
- 230000007717 exclusion Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 7
- 238000005457 optimization Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- WZCQRUWWHSTZEM-UHFFFAOYSA-N 1,3-phenylenediamine Chemical compound NC1=CC=CC(N)=C1 WZCQRUWWHSTZEM-UHFFFAOYSA-N 0.000 description 1
- VOZKAJLKRJDJLL-UHFFFAOYSA-N 2,4-diaminotoluene Chemical compound CC1=CC=C(N)C=C1N VOZKAJLKRJDJLL-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种小程序样式文件的优化方法及装置,涉及软件开发技术领域,其中该方法包括:根据页面结构文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录;将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。本发明可以提高小程序样式文件优化的效率,且便于多人开发的项目的维护。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种小程序样式文件的优化方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
小程序作为一种连接用户与服务的方式,可以在宿主应用程序(APP)内被便捷地获取和传播,同时具有出色的用户使用体验。
一个小程序页面通常由4个文件组成,分别是js文件、wxml文件、json文件和wxss文件。由于每个APP对小程序的代码包有体积限制,如某个APP的小程序的单个代码包的体积上限是2M,因此,通常需要删除小程序页面文件中无用的样式文件。现有技术中通常是通过逐个地查找某个样式是否被页面使用,在未被使用的情况下删除该样式,该方法效率较低,且对于多人开发的项目,可能存在删除某个样式后,影响页面的其他样式的问题,不便于项目维护。
发明内容
本发明实施例提供一种小程序样式文件的优化方法,用以提高小程序样式文件优化的效率,且便于多人开发的项目的维护,该方法包括:
获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
本发明实施例还提供一种小程序样式文件的优化装置,用以提高小程序样式文件优化的效率,且便于多人开发的项目的维护,该装置包括:
获取模块,用于获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
检索模块,用于根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
处理模块,用于根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
第一备份模块,用于将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
优化模块,用于将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述小程序样式文件的优化方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述小程序样式文件的优化方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述小程序样式文件的优化方法。
本发明实施例中,获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。这样,无需手动处理,就可以实现自动化优化小程序的样式文件,提高了小程序样式文件的优化效率;同时,可以实现准确删除无用的样式,只保留项目需要的样式,也不需要担心删除某个样式后影响页面的其他样式,使得多人开发的项目更加易于维护。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的小程序样式文件的优化方法的流程图;
图2为本发明实施例的对小程序的工程目录进行文件检索的流程示意图;
图3为本发明实施例的处理每个页面结构文件对应的样式文件的流程示意图;
图4为本发明实施例的处理全局样式文件的流程示意图;
图5为本发明实施例中提供的小程序样式文件的优化装置的示意图;
图6为本发明实施例中提供的计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
为了更好地理解本发明如何实施,首先对本发明涉及的小程序的4个文件进行简单介绍。
js文件:用于定义小程序的页面逻辑。
wxml文件:用于定义小程序的页面结构。
json文件:为小程序的页面配置文件。
wxss文件:为小程序的页面样式表。
小程序中含有自定义组件,开发者可以将页面内的一样的功能模块抽象成自定义组件,以便重复使用,自定义组件也是由以上4种文件组成。
小程序中有全局样式文件(app.wxss),页面样式(每个页面定义的样式)和组件样式(每个组件的样式)。全局样式文件可以对控制页面和自定义组件的样式。
小程序页面或者自定义组件的样式由相应路径下的wxss文件的样式控制,如index页面(路径为pages/index/index.wxml)的样式由pages/index/index.wxss控制。
小程序页面和自定义组件的样式文件不是必须的,即页面和自定义组件可以没有样式,但是一般都样式文件,这样页面和自定义组件展示更加多彩。
由于每个APP对小程序的代码包有体积限制,因此,通常需要删除小程序页面文件中无用的样式文件。现有技术中通常是通过逐个地查找某个样式是否被页面使用,在未被使用的情况下删除该样式,该方法效率较低,且对于项目维护尤其是多人开发的项目,可能存在删除某个样式后,影响页面的其他样式的问题,不便于项目维护。
因此,本发明实施例提供了一种小程序样式文件的优化方案,不需要逐个地查找某个样式是否被页面使用,就可以实现准确删除无用的样式,只保留项目需要的样式,进而减小程序文件的体积;也不需要担心删除某个样式后影响页面的其他样式,使得多人开发的项目更加易于维护。
如图1所示,为本发明实施例提供的一种小程序样式文件的优化方法的流程图。该方法可以包括如下步骤:
步骤101,获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
步骤102,根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
步骤103,根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
步骤104,将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
步骤105,将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
本发明实施例中,获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。这样,无需手动处理,就可以实现自动化优化小程序的样式文件,提高了小程序样式文件的优化效率;同时,可以实现准确删除无用的样式,只保留项目需要的样式,也不需要担心删除某个样式后影响页面的其他样式,使得多人开发的项目更加易于维护。
下面对图1所示的小程序样式文件的优化方法进行详细的说明。
在上述步骤101中,首先,需要获取待优化小程序的文件结构信息。
在一个实施例中,上述文件结构信息可以包括页面结构文件扩展名类型、样式文件扩展名类型和全局样式文件扩展名类型。
具体实施时,待优化小程序的文件结构信息可以是用户自定义设置的;也可以是根据待优化小程序的类型获取的。
在一个实施例中,上述步骤101,具体可以包括:
获取用户的第一配置信息,所述第一配置信息包括待优化小程序的类型;
根据待优化小程序的类型,从预先设置的多种类型的小程序文件结构信息中,确定待优化小程序的类型对应的文件结构信息。
具体实施时,由于每种类型的小程序的页面结构文件、样式文件和全局样式文件的扩展名不一样,因此,可以针对所有常见的小程序的类型,预先设置小程序的文件结构信息,即设置每种小程序的页面结构文件扩展名类型、样式文件扩展名类型和全局样式文件扩展名类型。然后,获取待优化小程序的类型对应的文件结构信息。例如,配置的待优化小程序的类型miniProgramType的值为“小程序1”,那么,页面结构文件扩展名类型xmlType的值为“wxml”,样式文件扩展名类型cssType的值为“wxss”,全局样式文件扩展名类型globalCssFile为的值“app.wxss”。
例如,表1为常见的小程序的文件结构信息。
表1小程序的文件结构信息
小程序类型 | 页面结构文件扩展名类型 | 样式文件扩展名类型 | 全局样式文件扩展名类型 |
小程序1 | wxml | wxss | app.wxss |
小程序2 | axml | acss | app.acss |
小程序3 | swan | css | app.css |
小程序4 | ttml | ttss | app.ttss |
小程序5 | qml | qss | app.qss |
小程序6 | ksml | css | app.css |
小程序7 | ttml | ttss | app.ttss |
小程序8 | axml | acss | app.acss |
小程序9 | jxml | jxss | app.jxss |
在一个实施例中,上述步骤101,具体还可以包括:
获取用户的第二配置信息,所述第二配置信息包括待优化小程序的文件结构信息。
具体实施时,用户可以自定义配置待优化小程序的页面结构文件扩展名类型,根据页面结构文件扩展名类型,可以确定待优化小程序的样式文件扩展名类型和全局样式文件扩展名类型。例如,配置页面结构文件扩展名类型xmlType的值为“mxml”,则样式文件扩展名类型cssType的值为“mcss”,全局样式文件扩展名类型globalCssFile的值为“app.mcss”。
需要说明的是,在用户输入配置信息时,若需要自定义配置待优化小程序的文件结构信息,则可以设置miniProgramType的值为空,设置xmlType的值为“mxml”即可。
在上述步骤102中,可以根据上述步骤101获取的页面结构文件扩展名类型和样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,查找出所有页面结构文件扩展名类型和样式文件扩展名类型指定的扩展名的文件。
具体实施时,可以调用匹配方法(如glob)对待优化小程序的工程目录进行文件检索,查找出待优化小程序的工程目录中所有页面结构文件扩展名类型对应的页面结构文件,和样式文件扩展名类型对应的样式文件。
在一个实施例中,为了便于后续的操作,上述步骤102之后,还可以将多组小程序结构文件存储至一个文件数组,可以记为xmlPages。
需要说明的是,开发者为了加快项目的开发,可以使用第三方组件库,因此,待优化小程序的工程目录中存在第三方库的安装包的文件夹和第三方库构建文件(第三方库使用前需要先进行构建)的文件夹,这2个文件夹都是第三方组件(也会有页面文件和样式文件)代码,非项目组开发代码。考虑到以下原因,在对待优化小程序的工程目录进行文件检索时,需要排除第三方库所在的文件夹:
(1)第三方库的样式文件基本已经是优化后的文件(很少有冗余的样式),另外项目组一般不会修改第三方库的文件源码,也不方便维护第三方源码,项目组开发者都是通过安装第三方库代码,对于多人开发的项目组,开发者A修改了第三方库文件源码,还得通知开发者B、C等等,让其他开发者也手动修改第三方库源码,增加了项目维护的成本。
(2)小程序项目构建时可能会通过流水线构建(在服务器上构建),非本地开发者电脑上构建,在通过流水线构建时改不了服务器上的第三方库代码。
在一个实施例中,在上述步骤102之前,还可以包括:
获取预先设置的检索排除项配置信息;所述检索排除项配置信息包括排除项文件夹地址;
上述步骤102,具体可以包括:
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录中除了排除项文件夹地址对应的文件夹之外的其他文件夹进行检索,得到多组小程序结构文件。
具体实施时,可以通过配置检索排除项配置信息,来排除检索到第三方库所在的文件夹。
在上述步骤103中,可以对步骤102获取的多组小程序结构文件进行分析,根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件。
在一个实施例中,由于多组小程序结构文件存储于一个文件数组,上述步骤103,具体可以包括:
遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件。
具体实施时,可以通过purgecss工具循环遍历每一组页面结构文件和样式文件进行处理,将页面结构文件的选择器和样式文件的选择器进行匹配,从样式文件中过滤未使用的选择器,只剩下页面结构文件使用的样式文件。
需要说明的是,考虑到小程序中存在一个page选择器,相当于web、h5页面中的body选择器,即设置page的样式可以控制本页面的样式,但是在小程序的页面中没有page标签,即页面文件无page标签,导致写在样式文件的page选择器会生效,因此,在对每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,不需要处理page选择器对应的样式文件。
因此,在一个实施例中,在上述步骤103之前,还可以包括:
获取预先设置的选择器配置信息,所述选择器配置信息为不处理样式文件的选择器配置信息;
上述步骤103,具体可以包括:
将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配时,忽略样式文件中与选择器配置信息对应的选择器,根据匹配结果确定该组小程序结构文件中的页面结构文件使用的样式文件。
具体实施时,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配时,可以根据选择器配置信息,不处理样式文件中的page选择器,进而根据匹配结果确定该组小程序结构文件中的页面结构文件使用的样式文件。
在上述步骤104中,在筛选到每组小程序结构文件中的页面结构文件使用的样式文件之后,可以将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件。
具体实施时,可以将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录中与原样式文件位置相同的地方。
在一个实施例中,上述步骤104,具体可以包括:
根据每组小程序结构文件中的样式文件在待优化小程序的工程目录的位置,创建一第一备份文件夹,
将每组小程序结构文件中的页面结构文件使用的样式文件写入第一备份文件夹,得到每组小程序结构文件的第一备份文件。
具体实施时,例如,如果原样式文件(即每组小程序结构文件中的样式文件)在待优化小程序的工程目录的文件地址(位置)为“pages/index/index.wxss”,那么,第一备份文件(第一bak文件)的文件地址可以为“pages/index/index-bak.wxss”。
上述步骤105中,可以将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
具体实施时,如果第一备份文件及其对应的原样式文件(小程序结构文件中的样式文件)的内容对比一致,则说明原样式文件无冗余的文件,开发者无需处理,删除第一备份文件即可;若内容对比不一致,则说明原样式文件有冗余样式,开发者可以使用第一备份文件的内容代替原文件内容,并将第一备份文件删除,实现对小程序样式文件的优化。
本发明实施例中,考虑到小程序的全局样式文件可以作用到小程序的每一个页面和组件,因此,同样需要分析全局样式文件有无冗余的样式。
在一个实施例中,所述文件结构信息还可以包括全局样式文件扩展名类型;
上述步骤102,还可以包括:
根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件。
具体实施时,可以根据步骤101得到的全局样式文件扩展名类型,从待优化小程序的工程目录中筛选全局样式文件扩展名类型对应的全局样式文件。
在一个实施例中,在根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件之后,还可以包括:
将全局样式文件的选择器设置为安全选择器,得到更新后的全局样式文件;
将更新后的全局样式文件写入待优化小程序的工程目录,得到第二备份文件。
具体实施时,可以将更新后的全局样式文件在待优化小程序的工程目录的原全局样式文件的位置进行备份,得到第二备份文件。例如,如果原全局样式文件在待优化小程序的工程目录的文件地址(位置)为“pages/index/index.app-wxss”,那么,第二备份文件(第二bak文件)的文件地址可以为“pages/index/index-app-bak.wxss”。
在一个实施例中,上述步骤105,还可以包括:
将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果;以及将第二备份文件与全局样式文件进行对比,得到第二对比结果;根据第一对比结果和第二对比结果,确定待优化小程序最终的样式文件。
具体实施时,若第一对比结果和第二对比结果为对比一致,则删除第一备份文件和第二备份文件,待优化小程序的样式文件不变;若第一对比结果为对比不一致,则利用第一备份文件代替小程序结构文件中的样式文件,删除第一备份文件;若第二对比结果为对比不一致,则利用第二备份文件代替全局样式文件,删除第二备份文件。
这样,通过上述小程序样式文件的优化方法,可以实现自动化优化小程序的样式文件,无需手动处理,提高了小程序样式文件的优化效率;同时,可以实现准确删除无用的样式,只保留项目需要的样式,也不需要担心删除某个样式后影响页面的其他样式,使得多人开发的项目更加易于维护。
本发明技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
为了能更清楚理解本发明提供的小程序样式文件的优化方法,下面以一个具体的例子对小程序样式文件的优化方法进行详细说明。
小程序样式文件的优化方法的实现流程主要包括:
(1)获取配置参数:
配置参数包括:小程序类型miniProgramType或页面结构文件扩展名类型xmlType。
(2)对小程序的工程目录进行文件检索
具体实施时,根据配置参数对小程序的工程目录进行文件检索。如图2所示,为本发明实施例的对小程序的工程目录进行文件检索的流程示意图。首先,排除小程序的工程目录的node_modules文件夹和miniprogram_dist文件夹,node_modules文件夹和miniprogram_dist文件夹为预先设置的检索排除项配置信息;然后,判断配置参数中的miniProgramType是否为空,若是,则根据配置参数中的xmlType的值确定样式文件扩展名类型cssType以及全局样式文件扩展名类型globalCssFile,进而根据xmlType、cssType和globalCssFile的值进行文件检索,得到页面结构文件、样式文件和全局样式文件,存储至文件数组中;若miniProgramType不为空,则根据miniProgramType的值,从上述表1中查找对应的xmlType、cssType和globalCssFile的值进行文件检索,最终得到文件数组。
(3)处理每个页面结构文件对应的样式文件
具体实施时,可以遍历文件数组,根据每一页面结构文件,确定页面结构文件使用的样式文件。如图3所示,为本发明实施例的处理每个页面结构文件对应的样式文件的流程示意图。首先,遍历文件数组,判断同目录下是否存在样式文件,即每组小程序结构文件中每个页面结构文件是否有对应的样式文件,若存在,则使用purgecss分析页面结构文件和样式文件,筛选页面结构文件使用的样式文件,使用写方法将页面结构文件使用的样式文件写入到同目录下(即第一备份文件);然后继续遍历文件数组,直至遍历完成。
(4)处理全局样式文件
具体实施时,对文件数组中的全局样式文件进行分析。如图4所示,为本发明实施例的处理全局样式文件的流程示意图。首先,使用purgecss分析页面结构文件和全局样式文件,将全局样式文件的page选择器设置为安全选择器,然后使用文件写方法将分析后的样式写入到同目录下(即第二备份文件)。
(5)优化小程序样式文件
分别将同目录下的原样式文件与第一备份文件对比,将同目录下的原全局样式文件与第二备份文件对比,若2个文件内容一致,说明原样式文件无冗余的文件,开发者无需处理,删除备份文件即可;若两文件内容不一致,说明原样式文件有冗余样式,开发者可以使用备份文件的内容代替原文件内容,并将备份文件删除。
本发明实施例中还提供了一种小程序样式文件的优化装置,如下面的实施例所述。由于该装置解决问题的原理与小程序样式文件的优化方法相似,因此该装置的实施可以参见小程序样式文件的优化方法的实施,重复之处不再赘述。
图5为本发明实施例中提供的一种小程序样式文件的优化装置的示意图,该装置包括:
获取模块501,用于获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
检索模块502,用于根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
处理模块503,用于根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
第一备份模块504,用于将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
优化模块505,用于将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
在一个实施例中,获取模块,具体可以用于:
获取用户的第一配置信息,所述第一配置信息包括待优化小程序的类型;
根据待优化小程序的类型,从预先设置的多种类型的小程序文件结构信息中,确定待优化小程序的类型对应的文件结构信息。
在一个实施例中,获取模块,具体还可以用于:
获取用户的第二配置信息,所述第二配置信息包括待优化小程序的文件结构信息。
在一个实施例中,还包括排除项获取模块,用于在检索模块根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件之前:
获取预先设置的检索排除项配置信息;所述检索排除项配置信息包括排除项文件夹地址;
检索模块,具体可以用于:
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录中除了排除项文件夹地址对应的文件夹之外的其他文件夹进行检索,得到多组小程序结构文件。
在一个实施例中,还包括存储模块,用于在检索模块根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件之后:
将多组小程序结构文件存储至一个文件数组。
在一个实施例中,处理模块,具体可以用于:
遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件。
在一个实施例中,还包括选择器配置模块,用于在处理模块遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件之前:
获取预先设置的选择器配置信息,所述选择器配置信息为不处理样式文件的选择器配置信息;
处理模块,具体可以用于:
将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配时,忽略样式文件中与选择器配置信息对应的选择器,根据匹配结果确定该组小程序结构文件中的页面结构文件使用的样式文件。
在一个实施例中,第一备份模块,具体可以用于:
根据每组小程序结构文件中的样式文件在待优化小程序的工程目录的位置,创建一第一备份文件夹,
将每组小程序结构文件中的页面结构文件使用的样式文件写入第一备份文件夹,得到每组小程序结构文件的第一备份文件。
在一个实施例中,所述文件结构信息还可以包括全局样式文件扩展名类型;
检索模块,还可以用于:
根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件。
在一个实施例中,还包括第二备份模块,具体可以用于在检索模块根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件之后:
将全局样式文件的选择器设置为安全选择器,得到更新后的全局样式文件;
将更新后的全局样式文件写入待优化小程序的工程目录,得到第二备份文件。
在一个实施例中,优化模块,具体可以用于:
将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果;以及将第二备份文件与全局样式文件进行对比,得到第二对比结果;根据第一对比结果和第二对比结果,确定待优化小程序最终的样式文件。
本发明实施例还提供一种计算机设备,图6为本发明实施例中计算机设备的示意图,所述计算机设备600包括存储器610、处理器620及存储在存储器610上并可在处理器620上运行的计算机程序630,所述处理器620执行所述计算机程序630时实现上述小程序样式文件的优化方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述小程序样式文件的优化方法。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述小程序样式文件的优化方法。
本发明实施例中,获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。这样,无需手动处理,就可以实现自动化优化小程序的样式文件,提高了小程序样式文件的优化效率;同时,可以实现准确删除无用的样式,只保留项目需要的样式,也不需要担心删除某个样式后影响页面的其他样式,使得多人开发的项目更加易于维护。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种小程序样式文件的优化方法,其特征在于,包括:
获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
2.如权利要求1所述的方法,其特征在于,获取待优化小程序的文件结构信息,包括:
获取用户的第一配置信息,所述第一配置信息包括待优化小程序的类型;
根据待优化小程序的类型,从预先设置的多种类型的小程序文件结构信息中,确定待优化小程序的类型对应的文件结构信息。
3.如权利要求1所述的方法,其特征在于,获取待优化小程序的文件结构信息,包括:
获取用户的第二配置信息,所述第二配置信息包括待优化小程序的文件结构信息。
4.如权利要求1所述的方法,其特征在于,根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件之前,还包括:
获取预先设置的检索排除项配置信息;所述检索排除项配置信息包括排除项文件夹地址;
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件,包括:
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录中除了排除项文件夹地址对应的文件夹之外的其他文件夹进行检索,得到多组小程序结构文件。
5.如权利要求1所述的方法,其特征在于,根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件之后,还包括:
将多组小程序结构文件存储至一个文件数组。
6.如权利要求5所述的方法,其特征在于,根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件,包括:
遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件。
7.如权利要求6所述的方法,其特征在于,遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件之前,还包括:
获取预先设置的选择器配置信息,所述选择器配置信息为不处理样式文件的选择器配置信息;
遍历所述文件数组,将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配,根据匹配结果确定每组小程序结构文件中的页面结构文件使用的样式文件,包括:
将每组小程序结构文件中的页面结构文件的选择器和样式文件的选择器进行匹配时,忽略样式文件中与选择器配置信息对应的选择器,根据匹配结果确定该组小程序结构文件中的页面结构文件使用的样式文件。
8.如权利要求1所述的方法,其特征在于,将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件,包括:
根据每组小程序结构文件中的样式文件在待优化小程序的工程目录的位置,创建一第一备份文件夹,
将每组小程序结构文件中的页面结构文件使用的样式文件写入第一备份文件夹,得到每组小程序结构文件的第一备份文件。
9.如权利要求1所述的方法,其特征在于,所述文件结构信息还包括全局样式文件扩展名类型;
根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件,包括:
根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件。
10.如权利要求9所述的方法,其特征在于,根据全局样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定全局样式文件扩展名类型对应的全局样式文件之后,还包括:
将全局样式文件的选择器设置为安全选择器,得到更新后的全局样式文件;
将更新后的全局样式文件写入待优化小程序的工程目录,得到第二备份文件。
11.如权利要求10所述的方法,其特征在于,将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件,包括:
将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果;以及将第二备份文件与全局样式文件进行对比,得到第二对比结果;根据第一对比结果和第二对比结果,确定待优化小程序最终的样式文件。
12.一种小程序样式文件的优化装置,其特征在于,包括:
获取模块,用于获取待优化小程序的文件结构信息;所述文件结构信息包括页面结构文件扩展名类型和样式文件扩展名类型;
检索模块,用于根据所述页面结构文件扩展名类型和所述样式文件扩展名类型,对待优化小程序的工程目录进行文件检索,确定多组小程序结构文件;每组小程序结构文件包括页面结构文件和样式文件;
处理模块,用于根据每组小程序结构文件中的页面结构文件,从该组小程序结构文件中的样式文件中,筛选该组小程序结构文件中的页面结构文件使用的样式文件;
第一备份模块,用于将每组小程序结构文件中的页面结构文件使用的样式文件写入待优化小程序的工程目录,得到每组小程序结构文件的第一备份文件;
优化模块,用于将每组小程序结构文件的第一备份文件与小程序结构文件中的样式文件进行对比,得到第一对比结果,根据第一对比结果,确定待优化小程序最终的样式文件。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至11任一所述方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至11任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153095.6A CN117193838A (zh) | 2023-09-07 | 2023-09-07 | 小程序样式文件的优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153095.6A CN117193838A (zh) | 2023-09-07 | 2023-09-07 | 小程序样式文件的优化方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117193838A true CN117193838A (zh) | 2023-12-08 |
Family
ID=88988139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153095.6A Pending CN117193838A (zh) | 2023-09-07 | 2023-09-07 | 小程序样式文件的优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117193838A (zh) |
-
2023
- 2023-09-07 CN CN202311153095.6A patent/CN117193838A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977110B (zh) | 数据清洗方法、装置及设备 | |
US20210049163A1 (en) | Data preparation context navigation | |
CN111443912B (zh) | 基于组件的页面渲染方法、装置、计算机设备和存储介质 | |
JP6070936B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN111708764A (zh) | 一种数据库变更版本的控制方法及装置 | |
CN109739828B (zh) | 一种数据处理方法、设备及计算机可读存储介质 | |
WO2022144828A1 (en) | Target environment data seeding | |
CN105975493A (zh) | 一种文件合并方法及装置 | |
CN111125067B (zh) | 数据维护方法及装置 | |
CN111984666B (zh) | 数据库访问方法、装置、计算机可读存储介质和计算机设备 | |
CN116467171A (zh) | 自动化测试用例构建装置、方法、电子设备及存储介质 | |
CN108984343B (zh) | 一种基于内容分析的虚拟机备份及存储管理方法 | |
CN113177021B (zh) | 一种不同数据源的数据导出方法及装置 | |
US11080334B1 (en) | Graph representation system and methods | |
CN117193838A (zh) | 小程序样式文件的优化方法及装置 | |
US9442698B2 (en) | Migration between model elements of different types in a modeling environment | |
CN116431660A (zh) | 数据处理方法、装置、系统、电子设备及存储介质 | |
WO2022262240A1 (zh) | 数据处理方法、电子设备及存储介质 | |
CN110019295B (zh) | 数据库检索方法、装置、系统以及存储介质 | |
CN104991963B (zh) | 文件处理方法和装置 | |
CN110968500A (zh) | 一种测试用例的执行方法及装置 | |
CN114896335A (zh) | 一种数据库的数据转储方法及系统 | |
CN112632177A (zh) | 一种数据装载作业的生成方法 | |
CN110941604B (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 |