一种依赖包安装用时分析方法、装置、设备及存储介质制造方法及图纸

技术编号:37399953 阅读:13 留言:0更新日期:2023-04-30 09:28
本申请公开了一种依赖包安装用时分析方法、装置、设备及存储介质,涉及软件开发技术领域。本申请创建核心逻辑代码文件和依赖包配置文件,通过第一解析函数对依赖包配置文件进行解析,得到依赖包对象,通过第二解析函数对依赖包对象进行解析,得到所有依赖包的名称和版本号,基于所有依赖包的名称和版本号构建依赖项数组,其中,每一个依赖包对应依赖项数组的一个元素项,为依赖项数组中的每一个元素项分别创建一个空白文件夹,将每一个依赖包安装到对应的空白文件夹中,调用计时子进程计算每一个依赖包的安装用时。本申请能够快速分析出依赖包安装耗时,便于开发者进行性能优化。便于开发者进行性能优化。便于开发者进行性能优化。

【技术实现步骤摘要】
一种依赖包安装用时分析方法、装置、设备及存储介质


[0001]本申请涉及软件开发
,具体涉及一种依赖包安装用时分析方法、装置、设备及存储介质。

技术介绍

[0002]在搭建项目环境或者切换Web应用不同的源码版本时,特别是项目非常大时,由于依赖变动,需要重新安装全部依赖,安装进度经常会卡住,因此需要知道哪些依赖包安装消耗的时间最多。
[0003]目前用于测量依赖包安装用时的工具,可以分析webpack生成的捆绑包并显示其大小和组成,可以帮助开发者识别捆绑包中最大的模块和依赖项。但是该工具只能分析引入的依赖包的大小,实际项目开发中会有很多使用到的依赖却没有被引入到项目中,所以无法统计这种类型的依赖包安装用时,并且安装依赖时,与网络环境也有很大关系,单纯统计包的大小会存在较大误差,并非真实的安装用时。

技术实现思路

[0004]本申请实施例的目的在于提出一种依赖包安装用时分析方法、装置、计算机设备及存储介质,以解决现有依赖包安装用时的工具存在的无法统计所有类型的依赖包安装用时,以及单纯统计包的大小来分析安装用时导致统计的依赖包安装用时不准确的技术问题。
[0005]为了解决上述技术问题,本申请实施例提供一种依赖包安装用时分析方法,采用了如下所述的技术方案:一种依赖包安装用时分析方法,包括:创建待测试目标项目,并在所述待测试目标项目中创建核心逻辑代码文件和依赖包配置文件,基于所述核心逻辑代码文件创建计时子进程;通过预设的第一解析函数对所述依赖包配置文件进行解析,得到依赖包对象;通过预设的第二解析函数对所述依赖包对象进行解析,得到所述待测试目标项目中所有依赖包的名称和版本号;基于所述待测试目标项目中所有依赖包的名称和版本号构建依赖项数组,其中,每一个依赖包对应所述依赖项数组的一个元素项;遍历所述依赖项数组,为所述依赖项数组中的每一个元素项分别创建一个空白文件夹;执行依赖包安装命令,将每一个依赖包安装到对应的所述空白文件夹中,调用所述计时子进程计算每一个依赖包的安装用时。
[0006]进一步地,所述依赖包配置文件为package.json文件,所述第一解析函数为getDeps()函数,所述通过预设的第一解析函数对所述依赖包配置文件进行解析,得到依赖包对象,具体包括:
调用nodejs内置的require命令读取package.json文件,并调用getDeps()函数解析package.json文件,得到依赖包的依赖项属性,其中,所述依赖包的依赖项属性包括生产环境需要的依赖和开发环境中需要的依赖;将所述依赖包的依赖项属性存储在一个对象中,生成依赖包对象。
[0007]进一步地,所述第二解析函数为Object.keys函数,所述通过预设的第二解析函数对所述依赖包对象进行解析,得到所述待测试目标项目中所有依赖包的名称和版本号,具体包括:通过Object.keys函数解析所述依赖包对象中的依赖项属性,得到所述待测试目标项目中所有依赖包的名称和版本号。
[0008]进一步地,所述依赖包安装命令为npm install命令,所述执行依赖包安装命令,将每一个依赖包安装到对应的所述空白文件夹中,调用所述计时子进程计算每一个依赖包的安装用时,具体包括:响应npm install命令,基于所述依赖包配置文件在依赖包工具库中确定所述待测试目标项目的所有待安装依赖包;将每一个待安装依赖包安装到对应的所述空白文件夹中;在每一个待安装依赖包安装过程中,调用所述计时子进程计算每一个依赖包的安装用时。
[0009]进一步地,所述依赖包工具库为child

process

promise模块,将每一个待安装依赖包安装到对应的所述空白文件夹中,具体包括:调用所述require命令读取child

process

promise模块,并将所述child

process

promise模块导入所述待测试目标项目;利用JS的对象解构语法从child

process

promise模块中读取出exec函数;通过exec函数执行npm install命令,依次将每一个待安装依赖包安装到对应的所述空白文件夹中。
[0010]进一步地,所述在每一个待安装依赖包安装过程中,调用所述计时子进程计算每一个依赖包的安装用时,具体包括:响应npm install命令,命令触发时的记录系统时间为每一个待安装依赖包的安装开始时间;实时监控每一个待安装依赖包的安装进程,当依赖包安装完成时,记录安装完成时的记录系统时间为每一个待安装依赖包的安装完成时间;基于每一个待安装依赖包的安装开始时间和每一个待安装依赖包的安装完成时间计算每一个依赖包的安装用时。
[0011]进一步地,在所述遍历所述依赖项数组,为所述依赖项数组中的每一个元素项分别创建一个空白文件夹之后,还包括:为每一个空白文件夹分别创建一个新的依赖包配置文件;获取每一个空白文件夹对应的依赖包的名称和版本号;将每一个空白文件夹对应的依赖包的名称和版本号写入所述新的依赖包配置文件的依赖项配置中。
[0012]为了解决上述技术问题,本申请实施例还提供一种依赖包安装用时分析装置,采
用了如下所述的技术方案:一种依赖包安装用时分析装置,包括:项目创建模块,用于创建待测试目标项目,并在所述待测试目标项目中创建核心逻辑代码文件和依赖包配置文件,基于所述核心逻辑代码文件创建计时子进程;第一解析模块,用于通过预设的第一解析函数对所述依赖包配置文件进行解析,得到依赖包对象;第二解析模块,用于通过预设的第二解析函数对所述依赖包对象进行解析,得到所述待测试目标项目中所有依赖包的名称和版本号;数组构建模块,用于基于所述待测试目标项目中所有依赖包的名称和版本号构建依赖项数组,其中,每一个依赖包对应所述依赖项数组的一个元素项;文件夹创建模块,用于遍历所述依赖项数组,为所述依赖项数组中的每一个元素项分别创建一个空白文件夹;安装计时模块,用于执行依赖包安装命令,将每一个依赖包安装到对应的所述空白文件夹中,调用所述计时子进程计算每一个依赖包的安装用时。
[0013]为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上述任一项所述的依赖包安装用时分析方法的步骤。
[0014]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述中任一项所述的依赖包安装用时分析方法的步骤。
[0015]与现有技术相比,本申请实施例主要有以下有益效果:本申请创建核心逻辑代码文件和依赖包配置文件,通过第一解析函数对依赖包配置文件进行解析,得到依赖包对象,通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种依赖包安装用时分析方法,其特征在于,包括:创建待测试目标项目,并在所述待测试目标项目中创建核心逻辑代码文件和依赖包配置文件,基于所述核心逻辑代码文件创建计时子进程;通过预设的第一解析函数对所述依赖包配置文件进行解析,得到依赖包对象;通过预设的第二解析函数对所述依赖包对象进行解析,得到所述待测试目标项目中所有依赖包的名称和版本号;基于所述待测试目标项目中所有依赖包的名称和版本号构建依赖项数组,其中,每一个依赖包对应所述依赖项数组的一个元素项;遍历所述依赖项数组,为所述依赖项数组中的每一个元素项分别创建一个空白文件夹;执行依赖包安装命令,将每一个依赖包安装到对应的所述空白文件夹中,调用所述计时子进程计算每一个依赖包的安装用时。2.如权利要求1所述的依赖包安装用时分析方法,其特征在于,所述依赖包配置文件为package.json文件,所述第一解析函数为getDeps()函数,所述通过预设的第一解析函数对所述依赖包配置文件进行解析,得到依赖包对象,具体包括:调用nodejs内置的require命令读取package.json文件,并调用getDeps()函数解析package.json文件,得到依赖包的依赖项属性,其中,所述依赖包的依赖项属性包括生产环境需要的依赖和开发环境中需要的依赖;将所述依赖包的依赖项属性存储在一个对象中,生成依赖包对象。3.如权利要求1所述的依赖包安装用时分析方法,其特征在于,所述第二解析函数为Object.keys函数,所述通过预设的第二解析函数对所述依赖包对象进行解析,得到所述待测试目标项目中所有依赖包的名称和版本号,具体包括:通过Object.keys函数解析所述依赖包对象中的依赖项属性,得到所述待测试目标项目中所有依赖包的名称和版本号。4.如权利要求1所述的依赖包安装用时分析方法,其特征在于,所述依赖包安装命令为npm install命令,所述执行依赖包安装命令,将每一个依赖包安装到对应的所述空白文件夹中,调用所述计时子进程计算每一个依赖包的安装用时,具体包括:响应npm install命令,基于所述依赖包配置文件在依赖包工具库中确定所述待测试目标项目的所有待安装依赖包;将每一个待安装依赖包安装到对应的所述空白文件夹中;在每一个待安装依赖包安装过程中,调用所述计时子进程计算每一个依赖包的安装用时。5.如权利要求4所述的依赖包安装用时分析方法,其特征在于,所述依赖包工具库为child

process

promise模块,将每一个待安装依赖包安装到对应的所述空白文件夹中,具体包括:调用所述require命令读取child

process

promise模块,...

【专利技术属性】
技术研发人员:吕宗远李伟
申请(专利权)人:深圳复临科技有限公司
类型:发明
国别省市:

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

1