[发明专利]一种依赖包安装用时分析方法、装置、设备及存储介质有效
申请号: | 202310332222.2 | 申请日: | 2023-03-31 |
公开(公告)号: | CN116028108B | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 吕宗远;李伟 | 申请(专利权)人: | 深圳复临科技有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/61 |
代理公司: | 深圳市世联合知识产权代理有限公司 44385 | 代理人: | 刘畅 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 依赖 安装 用时 分析 方法 装置 设备 存储 介质 | ||
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模块,并将所述child-process-promise模块导入所述待测试目标项目;
利用JS的对象解构语法从child-process-promise模块中读取出exec函数;
通过exec函数执行npm install命令,依次将每一个待安装依赖包安装到对应的所述空白文件夹中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳复临科技有限公司,未经深圳复临科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310332222.2/1.html,转载请声明来源钻瓜专利网。