一种自动清理前端项目中废弃接口方法及装置与流程

文档序号:37101500发布日期:2024-02-22 20:59阅读:33来源:国知局
一种自动清理前端项目中废弃接口方法及装置与流程

本技术各实施例属网络安全,尤其涉及一种自动清理前端项目中废弃接口方法及装置。


背景技术:

1、前端接口是指客户端使用的api接口,用于与服务器端进行数据交互和通信。随着前后端分离架构的广泛应用,由前端触发接口发起http请求后端返回数据也成为前后端数据交互的基本方式,因此在前端项目中充斥着大量的接口通常这些接口存放在固定的接口文件中。

2、在项目实际开发中随着功能快速迭代尤其是在中大型项目中可能会存在迭代过程中遗留了大量废弃(在业务代码中无实际使用)接口的问题,造成问题的原因主要在于对接口管理不够重视开发人员没有及时的清理废弃接口。

3、目前清理废弃接口主要是通过开发人员在代码编辑器中搜索接口名称进而分析接口在业务代码中的使用情况后判断该接口是否需要被删除。在小型项目中这种方式可以解决问题,但在中大型项目中可能存在成百上千个接口,开发人员如果还采取手动依次查找清理显然比较繁琐占用宝贵的开发时间。


技术实现思路

1、为了解决或缓解现有技术中的问题,本技术实施例提供了一种自动清理前端项目中废弃接口方法及装置,本技术可以自动删除清理无实际使用的废弃接口。

2、第一方面,本技术实施例提供了一种自动清理前端项目中废弃接口方法,包括:

3、创建全局对象以存储所有接口信息;

4、从接口文件目录中解析出所有接口文件名称,并将所有接口文件名称以数组保存;

5、从业务代码文件目录中解析出所有业务代码文件内容;

6、针对每一个所述业务代码文件内容,遍历所述所有接口文件名称的数组以便从当前业务代码文件内容中解析出每一个接口文件名称对应的接口导入语句;

7、解析所述接口导入语句中导入的所有接口;

8、遍历所述所有接口解析每一个接口在当前业务代码文件内容的使用数量以确定当前业务代码文件内容中需清理的接口,同时将所述所有接口记录在所述全局对象中;

9、从所述接口文件目录中解析得到所有接口文件,解析出每一个接口文件中的所有接口,遍历所述所有接口根据所述全局对象中对应接口使用数量确定当前接口文件中需清理的接口。

10、作为本技术一优选实施例,所述从接口文件目录中解析出所有接口文件名称,并将所有接口文件名称以数组保存,包括:

11、从配置文件中解析出配置的接口文件目录,递归查询所述接口文件目录;

12、通过node.js软件中fs.readdir方法从所述接口文件目录解析出所有接口文件名称,并将所有接口文件名称以数组保存。

13、作为本技术一优选实施例,所述从业务代码文件目录中解析出所有业务代码文件内容,包括:

14、从配置文件中解析出配置的业务代码文件目录,递归查询所述业务代码文件目录;

15、通过node.js软件中fs.readdir方法从所述业务代码文件目录读取所有业务代码文件内容。

16、作为本技术一优选实施例,所述针对每一个所述业务代码文件内容,遍历所述所有接口文件名称的数组以便从当前业务代码文件内容中解析出每一个接口文件名称对应的接口导入语句,解析所述接口导入语句中导入的所有接口,包括:

17、遍历所述数组,在for循环体中基于接口文件名称动态创建正则表达式;

18、通过所述正则表达式匹配每个业务代码文件内容中的每个接口导入语句,从匹配结果中解析出所述业务代码文件内容引入的接口。

19、作为本技术一优选实施例,所述遍历所述所有接口解析每一个接口在当前业务代码文件内容的使用数量以确定当前业务代码文件内容中需清理的接口,包括:

20、遍历当前业务代码文件内容引入接口,通过正则表达式匹配当前代码文件内容以解析出每个业务代码文件内容引入接口实际使用数量;

21、根据所述每个业务代码文件内容引入接口名称的数量确定需清理的接口。

22、作为本技术一优选实施例,所述根据所述每个业务代码文件内容引入的接口的使用次数确定需清理的接口,包括:

23、当解析出的业务代码文件内容中引入接口名称的数量小于预设阈值时,在解析出的业务代码文件内容删除引入接口;

24、当解析出的业务代码文件内容中引入接口名称的数量大于预设阈值时,将解析出的业务代码文件内容中引入接口的引用数量与使用数量总和减1,得到所述解析出的业务代码文件内容中引入接口的实际使用次数。

25、作为本技术一优选实施例,所述在解析出的业务代码文件内容删除引入接口,包括:

26、将每个业务代码文件内容中的每个接口导入语句中的接口名称所在的位置替换为空。

27、作为本技术一优选实施例,所述从所述所有接口文件名称中解析出所有接口名称,根据所述全局对象中接口名称的使用次数确定所述所有接口名称中需清理的接口,包括:

28、从所述接口文件目录中解析出所有接口文件内容,使用正则表达式匹配所述接口文件内容解析出所有接口名称;

29、确定所述全局对象中的所有接口信息中是否存在键值,所述键值为解析出接口名称与解析出接口名称对应的接口文件名称组合形成的键值;

30、如果存在,且解析出接口名称对应的接口的使用次数大于0,则所述接口名称对应的接口为有效接口,否则,在所述接口文件内容中删除所述接口名称的接口函数定义和接口注释。

31、作为本技术一优选实施例,所述在所述接口文件内容中删除所述接口名称对应的接口,之后,包括:

32、在所述全局对象中设置与在所述接口文件内容中删除的接口名称对应的接口信息的使用次数为0。

33、与现有技术相比,本技术实施例提供了一种自动清理前端项目中废弃接口方法,具体通过创建全局对象以存储所有接口信息;从接口文件目录中解析出所有接口文件名称,并将所有接口文件名称以数组保存;从业务代码文件目录中解析出所有业务代码文件内容;针对每一个所述业务代码文件内容,遍历所述所有接口文件名称的数组以便从当前业务代码文件内容中解析出每一个接口文件名称对应的接口导入语句;解析所述接口导入语句中导入的所有接口;遍历所述所有接口解析每一个接口在当前业务代码文件内容的使用数量以确定当前业务代码文件内容中需清理的接口,同时将所述所有接口记录在所述全局对象中;从所述接口文件目录中解析得到所有接口文件,解析出每一个接口文件中的所有接口,遍历所述所有接口根据所述全局对象中对应接口使用数量确定当前接口文件中需清理的接口。本技术可以自动删除清理无实际使用的废弃接口,解决了现有技术中由于开发人员采取手动依次查找清理废弃接口所带来的比较繁琐且占用大量开发时间所带来的技术问题。

34、第二方面,本技术实施例还提供了一种自动清理前端项目中废弃接口装置,包括:

35、创建模块,用于创建全局对象以存储所有接口信息;

36、解析模块,用于从接口文件目录中解析出所有接口文件名称,并将所有接口文件名称以数组保存;

37、所述解析模块,还用于从业务代码文件目录中解析出所有业务代码文件内容;

38、所述解析模块,还用于针对每一个所述业务代码文件内容,遍历所述所有接口文件名称的数组以便从当前业务代码文件内容中解析出每一个接口文件名称对应的接口导入语句;解析所述接口导入语句中导入的所有接口;遍历所述所有接口解析每一个接口在当前业务代码文件内容的使用数量以确定当前业务代码文件内容中需清理的接口,同时将所述所有接口记录在所述全局对象中;

39、清理模块,还用于从所述接口文件目录中解析得到所有接口文件,解析出每一个接口文件中的所有接口,遍历所述所有接口根据所述全局对象中对应接口使用数量确定当前接口文件中需清理的接口。

40、与现有技术相比,本技术提供的一种自动清理前端项目中废弃接口装置的有益效果与第一方面相同,在此不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1