【技术实现步骤摘要】
一种依赖包管理方法、装置、服务器及存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种依赖包管理方法、装置、服务器及存储介质。
技术介绍
随着计算机技术的快速发展,软件开发项目的数量越来越多并且规模越来越大。如今的前端技术通过多年沉淀,已经逐渐形成了格子的技术包,也就是项目中使用的依赖包。前端人员只需要通过package.json配置文件(依赖包配置文件),即可管理项目中的依赖包,执行npminstall命令(依赖包下载命令),从远端下载依赖包配置文件中的依赖包,并将下载的依赖包放在node_modules目录(用来存放用包管理工具下载安装的包的文件夹)下。目前,在实际开发过程中,每个项目都有属于自己的配置文件和node_modules目录下的依赖包,每个项目的依赖包的管理(例如安装管理、升级管理)都在各自项目中完成。然而,在迭代开发过程中,经常碰到大同小异的项目,如果在每个项目中管理自己的依赖包,需要在每个项目中下载相同的依赖包。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题: ...
【技术保护点】
1.一种依赖包管理方法,其特征在于,包括:/n确定至少两个项目的父级目录,在所述父级目录下搭建可运行node脚本的Javascript运行环境,其中,所述Javascript运行环境中的Node.js运行环境可运行node脚本;/n在所述Javascript运行环境下,基于所述node脚本的脚本内容,确定当前依赖包配置文件;/n基于所述当前依赖包配置文件中下载失败对象中的依赖包包名、所述当前依赖包配置文件中依赖对象中原始的依赖包包名以及各项目中的依赖包包名,确定所述当前依赖包配置文件的依赖对象中当前的依赖包包名;/n基于所述当前的依赖包包名,以及所述当前依赖包配置文件的已下 ...
【技术特征摘要】
1.一种依赖包管理方法,其特征在于,包括:
确定至少两个项目的父级目录,在所述父级目录下搭建可运行node脚本的Javascript运行环境,其中,所述Javascript运行环境中的Node.js运行环境可运行node脚本;
在所述Javascript运行环境下,基于所述node脚本的脚本内容,确定当前依赖包配置文件;
基于所述当前依赖包配置文件中下载失败对象中的依赖包包名、所述当前依赖包配置文件中依赖对象中原始的依赖包包名以及各项目中的依赖包包名,确定所述当前依赖包配置文件的依赖对象中当前的依赖包包名;
基于所述当前的依赖包包名,以及所述当前依赖包配置文件的已下载对象中的依赖包包名,确定所述当前依赖包配置文件的依赖对象中的目标依赖包包名;
根据所述当前依赖包配置文件的依赖对象中的目标依赖包包名,下载所述目标依赖包包名对应的依赖包,将下载完的目标依赖包包名剪切至所述当前依赖包配置文件的已下载对象中,得到目标依赖包配置文件。
2.根据权利要求1所述的方法,其特征在于,所述基于所述node脚本的脚本内容,确定当前依赖包配置文件,包括:
运行所述node脚本,执行所述node脚本中的配置文件查找命令,确定所述Javascript运行环境下是否存在第一依赖包配置文件;
如果存在,将所述第一依赖包配置文件作为所述当前依赖包配置文件;
如果不存在,执行所述node脚本中的配置文件创建命令,创建第二依赖包配置文件,将所述第二依赖包配置文件作为所述当前依赖包配置文件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述当前依赖包配置文件中下载失败对象中的依赖包包名、所述当前依赖包配置文件中依赖对象中原始的依赖包包名以及各项目中的依赖包包名,确定所述当前依赖包配置文件的依赖对象中当前的依赖包包名,包括:
如果所述当前依赖包配置文件中的下载失败对象存在对象,将所述下载失败对象中的对象剪切至所述当前依赖包配置文件的依赖对象中;和/或,
如果当前依赖包配置文件的已下载对象中不存在任一项目的依赖包,将该项目的依赖包包名剪切至所述当前依赖包配置文件的依赖对象中;
根据所述当前依赖包配置文件中依赖对象中原始的依赖包包名,以及剪切得到的依赖包包名,确定所述当前的依赖包包名。
4.根据权利要求3所述的方法,其特征在于,在所述将所述下载失败对象中的对象剪切至所述当前依赖包配置文件的依赖对象中之前,所述方法还包括:
运行所述node脚本,执行所述node脚本中的下载失败对象查找命令,查找所述当前依赖包配置文件的下载失败对象是否存在对象。
5.根据权利要求3所述的方法,其特征在于,在所述将该项目的依赖包添加至所述当前依赖包配置文件的依赖对象中之前,所述方法还包括:
运行所述node脚本,执行所述node脚本中的项目依赖包查找命令,查找各项目的至少一个依赖包,根据查找结果确定所述当前依赖包配置文件的已下载对象中是否存在任一项目的依赖包。
6.根据权利要求1所述的方...
【专利技术属性】
技术研发人员:裘珊,
申请(专利权)人:微医云杭州控股有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。