文件匹配方法、装置、存储介质及计算机设备制造方法及图纸

技术编号:29702532 阅读:11 留言:0更新日期:2021-08-17 14:30
本申请实施例公开了一种文件匹配方法、装置、存储介质及计算机设备,方法包括:基于Node.js读取被修改的diff文件,然后在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息,最后将所述文件目录信息写入到目标文件。采用本申请实施例,可以基于被修改的diff文件,在使用Webpack构建项目源代码的过程中找出受所述diff文件影响的文件路径,使得测试人员可以通过所述文件路径快速确定受影响的页面。

【技术实现步骤摘要】
文件匹配方法、装置、存储介质及计算机设备
本申请涉及计算机应用
,尤其涉及一种文件匹配方法、装置、存储介质及计算机设备。
技术介绍
目前Web前端开发项目主要是组件化、模块化的开发方式,在开发过程中或多或少都会根据某些需求更改被多个页面使用的组件或模块,对于每次更改,为了保证页面的稳定性,测试人员需要找到由于某个组件被更改而可能会收到影响的页面,并对这些页面进行测试,现有的实现方式一般是通过测试人员自身的经验或者主观判断,以一种猜测的方式来找出受到影响的页面,没有科学依据,具有不确定性。
技术实现思路
本申请实施例提供了一种文件匹配方法、装置、存储介质及计算机设备,可以确定受diff文件影响的各文件的文件目录信息。所述技术方案如下:第一方面,本申请实施例提供了一种文件匹配方法,所述方法包括:基于Node.js读取被修改的diff文件;在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息;将所述文件目录信息写入到目标文件。第二方面,本申请实施例提供了一种文件匹配装置,所述文件匹配装置包括:diff文件获取模块,用于基于Node.js读取被修改的diff文件;文件信息记录模块,用于在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息;文件信息保存模块,用于将所述文件目录信息写入到目标文件。第三方面,本申请实施例提供一种存储介质,所述存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。第四方面,本申请实施例提供一种计算机设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。本申请一些实施例提供的技术方案带来的有益效果至少包括:在本申请实施例中,基于Node.js读取被修改的diff文件,然后在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息,最后将所述文件目录信息写入到目标文件。采用本申请实施例,可以基于被修改的diff文件,在使用Webpack构建项目源代码的过程中找出受所述diff文件影响的文件路径,使得测试人员可以通过所述文件路径快速确定受影响的页面。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供了一种文件匹配方法的流程示意图;图2为本申请实施例提供了一种文件匹配方法的流程示意图;图3为本申请实施例提供了一种匹配diff文件的举例示意图;图4为本申请实施例提供了一种文件匹配装置的结构示意图;图5为本申请实施例提供了一种文件信息记录模块12的结构示意图;图6为本申请实施例提供了一种计算机设备的结构示意图;图7为本申请实施例提供了一种操作系统和用户空间的结构示意图;图8是图6中安卓操作系统的架构图;图9是图6中IOS操作系统的架构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。为了更清楚的描述本专利技术实施例的技术方案,在描述之前,对本专利技术中的一些概念进行详细描述以便更好的理解本方案。目前,Web前端开发中的HTML5技术日趋成熟,HTML5是移动互联网前端的主流开发语言,HTML5其实是一种技术的集合,它HTML5、CSS3及JavaScript(简称js)三个重要的部分,是运行在浏览器上应用的统称。其中,JavaScript是前端开发的核心。而由于浏览器对高级JavaScript语言的兼容性较低,需要将编译完成的前端资源(包括Javascript,图像,字体和CSS等)利用Webpack进行模块化打包后置于依赖关系中,可以按照需求引用依赖来使用资源。Webpack是一个使用前端资源构建项目源代码的打包工具,它可以将js、image、css等资源当成一个模块进行打包,所述模块是指不同的css文件,不同的js文件都可以看作不同的模块,不同的模块有各自的作用,所述打包是指将很多的css文件、js文件、图像等文件,全部写入到一个js文件。使用Webpack可以重新加载编译各种前端资源,将浏览器不认识的语法编译成浏览器认识的语法,将资源进行打包还可以减少i/o请求。本申请提出一种文件匹配方法,主要用于在前端开发过程中,针对某些需求更改了被多个页面引用的diff文件时,在Webpack构建项目源代码的过程中找出可能收到所述diff文件影响的所有页面,方便测试人员进行测试。请参见图1,为本申请实施例提供了一种文件匹配方法的流程示意图。如图1所示,所述文件匹配方法可以包括以下步骤S101~S104。S101,基于Node.js读取被修改的diff文件;所述Node.js是一个让JavaScript语言运行在服务端的开发平台,所述diff文件是指通过diff命令将修改前的文件和修改后的文件进行diff得到。具体的,在Node.js平台使用diff命令将修改前的文件和修改后的文件进行diff得到diff文件,并读取所述diff文件中的代码数据。S102,在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息;具体的,在Webpack构建项目源代码的过程中在所有前端资源文件中找出与所述diff文件相匹配的文件,记录下所述与所述diff文件相匹配的文件的文件目录信息。所述在所有前端资源文件中找出与所述diff文件相匹配的文件可以是按照代码块本文档来自技高网...

【技术保护点】
1.一种文件匹配方法,其特征在于,所述方法包括:/n基于Node.js读取被修改的diff文件;/n在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息;/n将所述文件目录信息写入到目标文件。/n

【技术特征摘要】
1.一种文件匹配方法,其特征在于,所述方法包括:
基于Node.js读取被修改的diff文件;
在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息;
将所述文件目录信息写入到目标文件。


2.根据权利要求1所述的方法,其特征在于,所述在Webpack构建项目源代码的过程中记录与所述diff文件相匹配的文件的文件目录信息,包括:
基于Webpack中的事件信息在Webpack开始编译文件时插入插件,基于所述插件检测入口文件是否与所述diff文件相匹配;
若所述入口文件与所述diff文件相匹配,则记录所述入口文件的文件目录信息;
若所述入口文件与所述diff文件不匹配,则在所述入口文件的依赖文件中确定与所述diff文件相匹配第一依赖文件,记录所述第一依赖文件的文件目录信息。


3.根据权利要求2所述的方法,其特征在于,所述在所述入口文件的依赖文件中确定与所述diff文件相匹配第一依赖文件,包括:
基于Webpack创建的AST语法树查找所述入口文件的依赖文件;
按照递归的方式在所述依赖文件中筛选出和所述diff文件相匹配的第一依赖文件。


4.根据权利要求3所述的方法,其特征在于,所述在所述依赖文件中筛选出和所述diff文件相匹配的第一依赖文件,包括:
在所述依赖文件中确定与所述diff文件的代码相匹配的依赖文件为所述第一依赖文件。


5.根据权利要求2所述的方法,其特征在于,所述在Webpack开始编译文件时插入插件之前,包括:
获取Webpack的...

【专利技术属性】
技术研发人员:赵亮杨昌伟邵玥刘书伶雷陈灵
申请(专利权)人:北京大米科技有限公司
类型:发明
国别省市:北京;11

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

1