CN113342749A - 文件路径匹配方法、装置、设备及计算机可读存储介质 - Google Patents
文件路径匹配方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113342749A CN113342749A CN202110722721.3A CN202110722721A CN113342749A CN 113342749 A CN113342749 A CN 113342749A CN 202110722721 A CN202110722721 A CN 202110722721A CN 113342749 A CN113342749 A CN 113342749A
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- folder
- path
- file
- 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 63
- 230000014509 gene expression Effects 0.000 claims description 20
- 230000003068 static effect Effects 0.000 claims description 17
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及金融科技(Fintech)技术领域。本发明公开了一种文件路径匹配方法、装置、设备及介质,通过获取项目中用于存放目标资源的源文件夹和在该项目中引用过目标资源的目标文件所在的目标文件夹,然后从源文件夹中得到资源存放路径数组,从目标文件夹中得到资源引用路径数组,使得项目中目标资源的存放路径和目标资源的引用路径都能够集中收集;通过将资源引用路径数组与资源存放路径数组匹配,筛选出资源引用路径数组中所有匹配失败的无效引用路径,使得即使此前在源文件夹中的目标资源已被批量删除、迁移或改名,系统也能够一次性获取到项目中所有的无效引用路径,而无需人工逐个查找对比无效引用路径,从而大大提升了无效引用路径的排查效率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及文件路径匹配方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对前端开发技术提出了更高的要求。
在实际开发过程中,可能需要对项目代码当中已经引用过的目标资源路径所对应的目标资源进行删除、迁移或是更改文件名称等操作,而在进行上述操作后,原先所引用的目标资源路径就会失效,若是不及时更正或是删除,在项目代码的运行编译阶段就会出现报错以及页面无法正常显示的问题,为项目的开发人员和测试人员带来困扰。为解决上述问题,现有的方式中通常需要技术人员逐个手动对比这些资源路径来进行更正或是删除。但若是在此前目标资源已经被批量删除或是迁移等的情况下,现有的基于人工排查的方式显然十分耗时耗力,从而反映出现有的基于人工排查无效引用路径的方式效率低下的问题。
发明内容
本发明的主要目的在于提出一种文件路径匹配方法、装置、设备、计算机存储介质及计算机程序产品,旨在解决现有的基于人工排查无效引用路径的方式效率低下的技术问题。
为实现上述目的,本发明提供一种文件路径匹配方法,所述文件路径匹配方法包括:
获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
可选地,所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤包括:
使用预设第一正则表达式对所述源文件夹中包含的若干源资源文件进行匹配,基于匹配成功的源资源文件得到所述目标资源的若干存放路径,将所述若干存放路径放入所述资源存放路径数组;
使用预设第二正则表达式对所述目标文件夹中的若干所述目标文件进行匹配,基于匹配成功的目标文件得到所述目标资源的若干引用路径,将所述若干引用路径放入所述资源引用路径数组。
可选地,所述基于匹配成功的目标文件得到所述目标资源的若干引用路径的步骤包括:
从所述匹配成功的目标文件中提取出所述目标资源的多个原始存放路径;
对多个所述原始存放路径进行去重,将去重后剩余的若干原始存放路径作为所述若干引用路径。
可选地,所述获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹的步骤包括:
在检测到命令处理器中的指定启动文件运行时,基于所述命令处理器分析所述目标项目代码的文件系统;
从所述文件系统中获取所述源文件夹和所述目标文件夹。
可选地,所述将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径的步骤包括:
将所述资源引用路径数组中的各所述存放路径逐一与所述资源存放路径数组中的各所述存放路径进行字符串匹配;
获取所述资源引用路径数组中的多个匹配失败的引用路径作为多个所述无效引用路径,并将多个所述无效引用路径放入无效路径数组以输出所述无效路径数组。
可选地,所述目标文件夹中包含注释代码,所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组的步骤之前,还包括:
基于预设插件对包含注释代码的所述目标文件夹进行编译,以在编译时删除所述目标文件夹中的注释代码,得到不包含注释代码的编译目标文件夹;
基于所述编译目标文件夹执行所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤。
此外,为实现上述目的,本发明还提供一种文件路径匹配装置,所述文件路径匹配装置包括:
资源文件获取模块,用于获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
路径数组获取模块,用于根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
路径数组匹配模块,用于将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
此外,为实现上述目的,本发明还提供一种文件路径匹配设备,所述文件路径匹配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件路径匹配程序,所述文件路径匹配程序被所述处理器执行时实现如上所述的文件路径匹配方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文件路径匹配程序,所述文件路径匹配程序被处理器执行时实现如上所述的文件路径匹配方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的文件路径匹配方法的步骤。
本发明通过获取到相同开发项目中用于存放目标资源的源文件夹和在该项目中引用过目标资源的目标文件所在的目标文件夹,然后从源文件夹中提取出汇集目标资源的存放路径的资源存放路径数组,以及从目标文件夹提取出汇集目标资源的引用路径的资源引用路径数组,使得能够集中收集到项目中目标资源的存放路径和目标资源的引用路径;通过将资源引用路径数组与资源存放路径数组进行匹配,并匹配筛选得到资源引用路径数组中所有匹配失败的无效引用路径,使得即使此前在源文件夹中的目标资源已被批量删除、迁移或改名,系统也能够一次性获取到项目中所有的无效引用路径,以便将无效引用路径批量提供给技术人员进行处理,而无需技术人员手动逐个查找无效引用路径并对比,从而大大提升了项目代码中无效引用路径的排查效率,同时也减轻了技术人员的工作量,解决了现有的基于人工排查无效引用路径的方式效率低下的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明文件路径匹配方法第一实施例的流程示意图;
图3为本发明文件路径匹配装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在实际开发过程中,可能需要对项目代码当中已经引用过的目标资源路径所对应的目标资源进行删除、迁移或是更改文件名称等操作,而在进行上述操作后,原先所引用的目标资源路径就会失效,若是不及时更正或是删除,在项目代码的运行编译阶段就会出现报错和页面无法正常显示的问题,为项目的开发人员和测试人员带来困扰。为解决上述问题,现有的方式中通常需要技术人员逐个手动对比这些资源路径来进行更正或是删除。但若是在目标资源批量删除或是迁移等的情况下,现有的基于人工排查的方式显然十分耗时耗力,从而反映出现有的基于人工排查无效引用路径的方式效率低下的问题。
为解决上述问题,本发明提供一种文件路径匹配方法,即通过获取到相同开发项目中用于存放目标资源的源文件夹和在该项目中引用过目标资源的目标文件所在的目标文件夹,然后从源文件夹中提取出汇集目标资源的存放路径的资源存放路径数组,以及从目标文件夹提取出汇集目标资源的引用路径的资源引用路径数组,使得能够集中收集到项目中目标资源的存放路径和目标资源的引用路径;通过将资源引用路径数组与资源存放路径数组进行匹配,并匹配筛选得到资源引用路径数组中所有匹配失败的无效引用路径,使得即使此前在源文件夹中的目标资源已被批量删除、迁移或改名,系统也能够一次性获取到项目中所有的无效引用路径,以便将无效引用路径批量提供给技术人员进行处理,而无需技术人员手动逐个查找无效引用路径并对比,从而大大提升了项目代码中无效引用路径的排查效率,同时也减轻了技术人员的工作量,解决了现有的基于人工排查无效引用路径的方式效率低下的技术问题。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该文件路径匹配装置可以包括:处理器1001,例如CPU,用户接口1003,网络接口1004,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文件路径匹配程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(程序员端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的文件路径匹配程序,并执行下述文件路径匹配方法中的操作。
基于上述硬件结构,提出本发明文件路径匹配方法实施例。
参照图2,图2为本发明文件路径匹配方法第一实施例的流程示意图。所述文件路径匹配方法包括;
步骤S10,获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
在本实施例中,本发明应用于终端设备,例如服务器、电脑等。目标项目代码指的是某一个或多个项目开发过程中开发人员基于JavaScript(一种具有函数优先的轻量级,解释型或即时编译型的编程语言)编写的代码。目标资源指的是在项目代码中需要引用路径的特定的一种或多种类型的资源,例如图片类型资源、音频类型资源、视频类型资源等。源文件夹指的是目标项目代码的文件系统中用户存在目标资源的文件夹。以目标资源为图片资源为例,此时源文件夹即为文件系统中本地代码存放图片资源的文件夹,一般为路径中包含assets/images的文件夹。目标文件夹指的是已经在目标项目代码中引用过目标资源路径的目标文件所在的文件夹。
具体地,以目标资源为图片资源为例。开发人员基于微信小程序环境下上编写前端页面的目标项目代码时,若向终端发出一特定指令(具体发起方式可以是点击页面中的预设特定按钮或是执行特定的启动文件等)终端在接收到该指令后,基于该指令确定到目标项目代码的文件系统(该文件系统涵盖了所有与此项目相关的代码、资源文件),从目标项目代码的文件系统中获取到本地代码存放图片资源的文件夹,以及已在页面中引用图片资源的目标文件所在的所有文件夹。一般包含文件后缀名为.js、.wxa、.wxml的文件夹,也即是所有可以使用<image></image>标签的src属性的文件终端都可将其标注为目标文件,并放入目标文件夹中。需要说明的是,本实施例对源文件夹和目标文件夹的获取前后顺序不做限制,终端在接收到指令后既可以先对源文件夹进行获取,也可以先对目标文件夹进行获取,还可以同时获取这两类文件夹。
步骤S20,根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
在本实施例中,资源存放路径数组指的是用于存放由源文件夹中所得到的若干个目标资源文件存放路径的数组。资源引用路径数组指的是用于存放由目标文件夹中所得到的若干个目标资源文件引用路径的数组,且目标资源文件引用路径既可以是开发人员直接从文件路径补全插件所给出的参考路径中选择的文件资源路径,也可以是开发人员自行输入的参考路径外的文件资源路径。通常情况下,资源存放路径数组中会包含多个目标资源存放路径,资源引用路径数组中也会包含多个目标资源的引用路径。
具体地,终端在获取到上述源文件夹和目标文件夹后,可通过正则匹配或是关键字查找的方式获取到源文件夹中所有的目标资源的存放路径,以及目标文件夹中所有已引用的目标资源的引用路径。从源文件夹中获取资源存放路径的方式和从目标文件夹中获取资源引用路径的方式可以相同也可以不同。且在目标项目代码的开发编码风格统一的情况下,对存放路径和引用路径进行获取的方式可以是预设关键字查找方式;而在多人合作开发某一项目的情况下,不同开发人员的编码风格可能不同,因此对于同一目标资源的命名方式以及存放习惯也不相同,因此采用预设关键字的方式不适用于这一情况。针对上述情况,开发人员可以根据实际需求预设正则表达式,基于预设正则表达式采用正则匹配的方式对源文件夹和/或目标文件夹进行匹配,以匹配得到需要获取的存放路径和/或引用路径。
步骤S30,将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
在本实施例中,由于在代码编写过程中,开发人员可能需要对先前已经在源文件夹中保存的目标资源进行删除、迁移或改名操作,这些操作都会导致目标资源路径发生改变,若是之前已经在目标项目代码中对目标资源进行引用,那么先前写在目标项目代码中的目标资源引用路径就成了无效引用路径。
而资源存放数组中所放入的目标资源存放路径则是指向目标资源实际存放位置的路径,会随着开发人员的删除、迁移或是改名操作对应进行更新,因此可以以此为参照,资源引用路径数组中的每个在资源存放路径数组中找不到对应参照的路径则可被视为无效引用路径,从而筛选出资源引用路径数组中的所有无效引用路径。由于资源引用路径数组和资源存放路径数组都是针对整个目标项目代码而言的,因此最终筛选出的无效引用路径也是整个目标项目代码中关于目标资源的无效引用路径,通常筛选出的无效引用路径为多个,终端最后可将这些无效引用路径批量输出,以供相关人员对其进行修正处理。
本实施例提供一种文件路径匹配方法。所述文件路径匹配方法通过获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。本实施例通过获取到相同开发项目中用于存放目标资源的源文件夹和在该项目中引用过目标资源的目标文件所在的目标文件夹,然后从源文件夹中提取出汇集目标资源的存放路径的资源存放路径数组,以及从目标文件夹提取出汇集目标资源的引用路径的资源引用路径数组,使得能够集中收集到项目中目标资源的存放路径和目标资源的引用路径;通过将资源引用路径数组与资源存放路径数组进行匹配,并匹配筛选得到资源引用路径数组中所有匹配失败的无效引用路径,使得即使此前在源文件夹中的目标资源已被批量删除、迁移或改名,系统也能够一次性获取到项目中所有的无效引用路径,以便将无效引用路径批量提供给技术人员进行处理,而无需技术人员手动逐个查找无效引用路径并对比,从而大大提升了项目代码中无效引用路径的排查效率,同时也减轻了技术人员的工作量,解决了现有的基于人工排查无效引用路径的方式效率低下的技术问题。
进一步地,基于上述图2所示的第一实施例,提出本发明文件路径匹配方法的第二实施例。在本实施例中,步骤S20包括:
步骤S21,使用预设第一正则表达式对所述源文件夹中包含的若干源资源文件进行匹配,基于匹配成功的源资源文件得到所述目标资源的若干存放路径,将所述若干存放路径放入所述资源存放路径数组;
步骤S22,使用预设第二正则表达式对所述目标文件夹中的若干所述目标文件进行匹配,基于匹配成功的目标文件得到所述目标资源的若干引用路径,将所述若干引用路径放入所述资源引用路径数组。
在本实施例中,正则表达式,又称规则表达式。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,即用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。由于源文件夹中可能包含多种不同类型资源的文件,因此预设第一正则表达式指的是用于与源文件夹中的各个文件路径进行匹配,得到与第一正则表达式相匹配的路径字符串,即为目标资源文件路径。预设第二正则表达式指的是用于与目标文件夹中的各个文件内容进行匹配的正则表达式(引用路径需要从文件内容中拿到)。
终端根据开发者给定的第一正则表达式匹配原文件夹中可以直接获取到的目标资源存放路径,将匹配成功的存放路径放入创建的资源存放路径数组中;同时可读取目标文件夹中的目标文件内容,从文件内容中提取出目标资源引用路径,根据给定的第二正则表达式匹配这些目标资源引用路径,将匹配成功的引用路径放入创建的资源引用路径数组中。
具体地,对于获取资源引用路径的过程,终端先通过node.js(基于Chrome V8引擎的JavaScript运行环境)的文件操作API,异步读取目标文件夹汇中目标文件的全部内容,然后给定的第二正则表达式进行匹配操作;再将匹配得到的数据进行判断,匹配错误的将其剔除,进行下一轮匹配;将匹配正确则将其加入到目标数组中;最后返回该目标数组(即上述资源引用路径数组),继续后续操作。
本实施例通过正则匹配的方式,从而能够在多个共同开发的场景中也能匹配到所有目标资源的存放路径,以及所有目标资源的引用路径。
进一步地,所述基于匹配成功的目标文件得到所述目标资源的若干引用路径的步骤包括:
步骤A1,从所述匹配成功的目标文件中提取出所述目标资源的多个原始存放路径;
步骤A2,对多个所述原始存放路径进行去重,将去重后剩余的若干原始存放路径作为所述若干引用路径。
在本实施例中,在项目中引用图片时可能并不会只在一处引用一次该图片,因此最开始获取到的目标文件夹中可能存在重复资源路径的子项,因此终端可使用ES6(ECMAScript 6,是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript2015(ES2015))对数组进行一次去重(具体可用new Set()方法进行去重),Set是ES6提供的新的数据结构,它类似数组,但成员的值是唯一的。因为new Set()执行完毕后得到的是成员值唯一的类数组结构,然后再将new Set()执行得到的结果转化成真正的数组,最终得到唯一值的有效数组即为上述引用路径。
本实施例通过对目标文件夹中的目标文件进行去重,从而大大降低后续所需的匹配时间,提高了匹配效率。
进一步地,步骤S10包括:
步骤S11,在检测到命令处理器中的指定启动文件运行时,基于所述命令处理器分析所述目标项目代码的文件系统;
步骤S12,从所述文件系统中获取所述源文件夹和所述目标文件夹。
在本实施例中,开发人员打开命令处理器bash,运行特定的启动文件即可启动,终端在检测到该启动指令时,可通过node.js来操作目标项目代码的文件系统,分析该文件系统的结构,以从文件系统中获取到用于存放目标资源的源文件夹和引用过目标资源文件路径的目标文件所在的目标文件夹。
进一步地,步骤S12包括:
步骤S121,从所述文件系统中查找本地静态资源文件夹,从所述本地静态资源文件夹中获取存放所述目标资源的源文件夹;
步骤S122,在所述文件系统中包含静态重构文件夹时,排除所述静态重构文件夹,以从所述排除所述静态重构文件夹后的文件系统中获取所述目标文件夹。
在本实施例中,分析文件结构时,如果当前解析的文件夹是静态文件夹时,即当前目录为pages/ui,将其从目标文件夹中去除,否则继续调用node.js的目录操作应用程序接口(API,Application Programming Interface)来异步读取目录的内容,拿到正确的文件路径(即真正运行的项目代码文件),进行文件内容读取,拼接目标图片路径,然后并将其放入目标文件数组中。
本实施例通过提前去除静态重构文件夹,从而减少对无关文件的操作,提高文件操作的效率和节省时间。
进一步地,基于上述图2所示的第一实施例,提出本发明文件路径匹配方法的第三实施例。在本实施例中,步骤S30包括:
步骤S31,将所述资源引用路径数组中的各所述存放路径逐一与所述资源存放路径数组中的各所述存放路径进行字符串匹配;
步骤S32,获取所述资源引用路径数组中的多个匹配失败的引用路径作为多个所述无效引用路径,并将多个所述无效引用路径放入无效路径数组以输出所述无效路径数组。
在本实施例中,终端将资源引用路径数组中的每一存放路径逐一与资源存放路径数组中的各个存放路径进行字符串匹配,例如现有5个引用路径和10个存放路径,则先拿出5个中的第一个引用路径与10个存放路径逐一进行匹配,若该引用路径和10个中的某一个匹配上,则不放入无效路径数组;若与这10个均匹配错误或匹配不上,则放入无效路径数组,第一轮匹配结束后则匹配5个中的下一个,如此循环,直至结束第5轮的匹配,最终匹配过程中所有匹配失败的引用路径都会放入无效引用路径数组。
本实施例通过将资源引用路径数组中的每一存放路径逐一与资源存放路径数组中的各个存放路径进行匹配,使得能够找出资源引用路径中所有不匹配的路径,最终可将这些无效引用路径批量输出,从而提高无效引用路径的排查效率。
进一步地,所述目标文件夹中包含注释代码,步骤S20之前,还包括:
步骤B1,基于预设插件对包含注释代码的所述目标文件夹进行编译,以在编译时删除所述目标文件夹中的注释代码,得到不包含注释代码的编译目标文件夹;
步骤B2,基于所述编译目标文件夹执行所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤。
在本实施例中,以目标资源为图片资源为例,当项目中使用的图片路径被注释而未删掉时,会导致该路径被纳入目标图片路径数组中,增加不必要的匹配操作。针对这一问题,可通过配置uglifyjs插件(用于压缩优化JS文件的插件)的注释配置项后,将注释的代码删除掉,然后基于该插件对原先的目标文件夹进行编译,就可以输出不带注释代码的编译文件夹(也即是上述编译目标文件夹)。终端可将此编译目标文件夹替换原先的目标文件夹,基于此编译目标文件夹代替原先的目标文件夹执行后续步骤,以避免注释中的图片路径造成干扰。
如图3所示,本发明还提供一种文件路径匹配装置,所述文件路径匹配装置包括:
资源文件获取模块10,用于获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
路径数组获取模块20,用于根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
路径数组匹配模块30,用于将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
可选地,所述路径数组获取模块20包括:
第一正则匹配单元,用于使用预设第一正则表达式对所述源文件夹中包含的若干源资源文件进行匹配,基于匹配成功的源资源文件得到所述目标资源的若干存放路径,将所述若干存放路径放入所述资源存放路径数组;
第二正则匹配单元,用于使用预设第二正则表达式对所述目标文件夹中的若干所述目标文件进行匹配,基于匹配成功的目标文件得到所述目标资源的若干引用路径,将所述若干引用路径放入所述资源引用路径数组。
可选地,所述第二正则匹配单元还用于:
从所述匹配成功的目标文件中提取出所述目标资源的多个原始存放路径;
对多个所述原始存放路径进行去重,将去重后剩余的若干原始存放路径作为所述若干引用路径。
可选地,所述资源文件获取模块10包括:
文件系统分析单元,用于在检测到命令处理器中的指定启动文件运行时,基于所述命令处理器分析所述目标项目代码的文件系统;
系统文件获取单元,用于从所述文件系统中获取所述源文件夹和所述目标文件夹。
可选地,所述系统文件获取单元还用于:
从所述文件系统中查找本地静态资源文件夹,从所述本地静态资源文件夹中获取存放所述目标资源的源文件夹;
在所述文件系统中包含静态重构文件夹时,排除所述静态重构文件夹,以从所述排除所述静态重构文件夹后的文件系统中获取所述目标文件夹。
可选地,所述路径数组匹配模块30包括:
路径数组匹配单元,用于将所述资源引用路径数组中的各所述存放路径逐一与所述资源存放路径数组中的各所述存放路径进行字符串匹配;
无效路径输出单元,用于获取所述资源引用路径数组中的多个匹配失败的引用路径作为多个所述无效引用路径,并将多个所述无效引用路径放入无效路径数组以输出所述无效路径数组。
可选地,所述目标文件夹中包含注释代码,所述文件路径匹配装置还包括:
目标文件编译单元,用于基于预设插件对包含注释代码的所述目标文件夹进行编译,以在编译时删除所述目标文件夹中的注释代码,得到不包含注释代码的编译目标文件夹;
编译文件使用单元,用于基于所述编译目标文件夹执行所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤。
本发明还提供一种文件路径匹配设备。
所述文件路径匹配设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的文件路径匹配程序,其中所述文件路径匹配程序被所述处理器执行时,实现如上所述的文件路径匹配方法的步骤。
其中,所述文件路径匹配程序被执行时所实现的方法可参照本发明文件路径匹配方法的各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有文件路径匹配程序,所述文件路径匹配程序被处理器执行时实现如上所述的文件路径匹配方法的步骤。
其中,所述文件路径匹配程序被执行时所实现的方法可参照本发明文件路径匹配方法各个实施例,此处不再赘述。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的文件路径匹配方法的步骤。
其中,所述计算机程序被执行时所实现的方法可参照本发明文件路径匹配方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种文件路径匹配方法,其特征在于,所述文件路径匹配方法包括:
获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
2.如权利要求1所述的文件路径匹配方法,其特征在于,所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤包括:
使用预设第一正则表达式对所述源文件夹中包含的若干源资源文件进行匹配,基于匹配成功的源资源文件得到所述目标资源的若干存放路径,将所述若干存放路径放入所述资源存放路径数组;
使用预设第二正则表达式对所述目标文件夹中的若干所述目标文件进行匹配,基于匹配成功的目标文件得到所述目标资源的若干引用路径,将所述若干引用路径放入所述资源引用路径数组。
3.如权利要求2所述的文件路径匹配方法,其特征在于,所述基于匹配成功的目标文件得到所述目标资源的若干引用路径的步骤包括:
从所述匹配成功的目标文件中提取出所述目标资源的多个原始存放路径;
对多个所述原始存放路径进行去重,将去重后剩余的若干原始存放路径作为所述若干引用路径。
4.如权利要求1所述的文件路径匹配方法,其特征在于,所述获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹的步骤包括:
在检测到命令处理器中的指定启动文件运行时,基于所述命令处理器分析所述目标项目代码的文件系统;
从所述文件系统中获取所述源文件夹和所述目标文件夹。
5.如权利要求4所述的文件路径匹配方法,其特征在于,所述从所述文件系统中获取所述源文件夹和所述目标文件夹的步骤包括:
从所述文件系统中查找本地静态资源文件夹,从所述本地静态资源文件夹中获取存放所述目标资源的源文件夹;
在所述文件系统中包含静态重构文件夹时,排除所述静态重构文件夹,以从所述排除所述静态重构文件夹后的文件系统中获取所述目标文件夹。
6.如权利要求1所述的文件路径匹配方法,其特征在于,所述将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径的步骤包括:
将所述资源引用路径数组中的各所述存放路径逐一与所述资源存放路径数组中的各所述存放路径进行字符串匹配;
获取所述资源引用路径数组中的多个匹配失败的引用路径作为多个所述无效引用路径,并将多个所述无效引用路径放入无效路径数组以输出所述无效路径数组。
7.如权利要求1-6中任一项所述的文件路径匹配方法,其特征在于,所述目标文件夹中包含注释代码,所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组的步骤之前,还包括:
基于预设插件对包含注释代码的所述目标文件夹进行编译,以在编译时删除所述目标文件夹中的注释代码,得到不包含注释代码的编译目标文件夹;
基于所述编译目标文件夹执行所述根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组的步骤。
8.一种文件路径匹配装置,其特征在于,所述文件路径匹配装置包括:
资源文件获取模块,用于获取用于存放目标项目代码所对应目标资源的源文件夹,以及引用所述目标资源的目标文件所在的目标文件夹;
路径数组获取模块,用于根据所述源文件夹得到汇集所述目标资源的存放路径的资源存放路径数组,并根据所述目标文件夹得到汇集所述目标资源的引用路径的资源引用路径数组;
路径数组匹配模块,用于将所述资源引用路径数组与所述资源存放路径数组进行匹配,以筛选出所述资源引用路径数组中的无效引用路径。
9.一种文件路径匹配设备,其特征在于,所述文件路径匹配设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件路径匹配程序,所述文件路径匹配程序被所述处理器执行时实现如权利要求1至7中任一项所述的文件路径匹配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件路径匹配程序,所述文件路径匹配程序被处理器执行时实现如权利要求1至7中任一项所述的文件路径匹配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722721.3A CN113342749A (zh) | 2021-06-28 | 2021-06-28 | 文件路径匹配方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110722721.3A CN113342749A (zh) | 2021-06-28 | 2021-06-28 | 文件路径匹配方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342749A true CN113342749A (zh) | 2021-09-03 |
Family
ID=77481188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110722721.3A Pending CN113342749A (zh) | 2021-06-28 | 2021-06-28 | 文件路径匹配方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342749A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201178A (zh) * | 2022-02-17 | 2022-03-18 | 武大吉奥信息技术有限公司 | 一种批量解决sdk资源冲突的方法 |
-
2021
- 2021-06-28 CN CN202110722721.3A patent/CN113342749A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201178A (zh) * | 2022-02-17 | 2022-03-18 | 武大吉奥信息技术有限公司 | 一种批量解决sdk资源冲突的方法 |
CN114201178B (zh) * | 2022-02-17 | 2022-05-27 | 武大吉奥信息技术有限公司 | 一种批量解决sdk资源冲突的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112394942B (zh) | 基于云计算的分布式软件开发编译方法及软件开发平台 | |
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
CN107885501B (zh) | 获取Android中组件相互引用关系的方法及装置 | |
US20170161061A1 (en) | Custom code migration suggestion system based on actual change references | |
WO2014058805A1 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
CN111078637B (zh) | 脚本文件上线方法、装置、计算机设备及存储介质 | |
CN111367595B (zh) | 数据处理方法、程序运行方法、装置及处理设备 | |
WO2022116437A1 (zh) | 多架构静态库冲突处理方法、装置、设备及存储介质 | |
CN115543402B (zh) | 一种基于代码提交的软件知识图谱增量更新方法 | |
CN112099880B (zh) | 场景驱动的应用程序约减方法和系统 | |
CN112306501A (zh) | 业务数据采集方法、装置、存储介质和计算设备 | |
US20160147547A1 (en) | Metadata-based class loading using a content repository | |
CN113342749A (zh) | 文件路径匹配方法、装置、设备及计算机可读存储介质 | |
CN113515303B (zh) | 一种项目转型方法、装置和设备 | |
CN117950636A (zh) | 一种针对后端微服务的项目构建方法及系统 | |
CN117493169A (zh) | 一种Java依赖库版本间API行为不兼容性检测方法、装置、设备及介质 | |
JP2021140430A (ja) | データベースマイグレーション方法、データベースマイグレーションシステム、及びデータベースマイグレーションプログラム | |
US12093686B2 (en) | Code maintenance system | |
US20150347402A1 (en) | System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace | |
US20130111450A1 (en) | Runtime environment and method for non-invasive monitoring of software applications | |
Le Zou et al. | On synchronizing with web service evolution | |
CN112130860A (zh) | Json对象解析方法、装置、电子设备及存储介质 | |
CN111949309A (zh) | 拉取idl文件的方法、装置、计算机设备和存储介质 | |
CN117707547B (zh) | 一种解析java项目间引用关系的方法 | |
CN116954701B (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 |