npm包管理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:24520909 阅读:16 留言:0更新日期:2020-06-17 07:54
本申请提供了一种npm包管理方法、装置、电子设备及存储介质。其中,该npm包管理方法,应用于内容分发服务器,方法包括以下步骤:获取WEB应用服务器发送的npm包部署请求,npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;根据npm包部署请求查询所述内容分发服务器是否存储有目标npm包;若未存储,则根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;接收npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储。本申请实施例通过采用基于WEB应用服务器所需求的具体版本进行npm包的部署,无需对所有版本的npm包进行部署和存储,具有解决冗余存储、降低存储空间压力的有益效果。

【技术实现步骤摘要】
npm包管理方法、装置、电子设备及存储介质
本申请涉及计算机网络
,具体而言,涉及一种npm包管理方法、装置、电子设备及存储介质。
技术介绍
随着信息技术的高速发展与社会分工日益细化,项目的前、后端分离开发已经是主流。前、后端分离开发之后,前端项目的工程化程度越来越高,而工程化又不可避免的对npm包的依赖也越来越大。目前,前端项目使用第三方依赖的npm包时,一般通过npm命令直接安装,最后与项目所有代码一起构建和部署。采用这种方法主要存在以下缺陷:无法解决冗余存储的问题,每次发布都需要重新打包并占用新的存储空间,同一份文件内容会存在多份拷贝。针对上述问题,目前尚未有有效的技术解决方案。
技术实现思路
本申请实施例的目的在于提供一种npm包管理方法、装置、电子设备及存储介质,具有解决冗余存储、降低存储空间的压力的有益效果。第一方面,本申请实施例提供了一种npm包管理方法,应用于内容分发服务器,所述方法包括以下步骤:获取WEB应用服务器发送的npm包部署请求,所述npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;根据所述npm包部署请求查询所述内容分发服务器是否存储有所述目标npm包;若未存储,则根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储。本申请实施例通过采用基于WEB应用服务器所需求的具体版本进行npm包的部署,无需对所有版本的npm包进行部署和存储,具有解决冗余存储、解压存储空间的有益效果。可选地,在本申请实施例所述的npm包管理方法中,所述接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储的步骤之后,还包括:获取WEB应用服务器发送的npm包获取请求,所述npm包获取请求源自用户端并携带有待获取的目标npm包的标识信息以及版本信息;根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器,以使得所述WEB应用服务器将所述目标npm包转发给所述用户端。本申请实施例通过内容分发服务器将目标npm包间接转发给用户端,无需在WEB应用服务器中存储所有的目标npm包,可以提高WEB应用服务器的运行速度,降低WEB应用服务器的存储压力。可选地,在本申请实施例所述的npm包管理方法中,所述根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器的步骤包括:对所述npm包获取请求进行解析以获取其中的关于所述目标npm包的统一资源定位符;根据所述统一资源定位符获取对应的目标npm包;将所述目标npm包发送至所述WEB应用服务器。本申请实施例通过统一资源定位符来获取目标npm包,既可以免去与业务代码一起构建生成的冗余代码,又能提升代码构建速度,可以提高运行效率。可选地,在本申请实施例所述的npm包管理方法中,所述版本信息包括semver版本表达式,所述semver版本表达式包括高位版本号以及低位版本号;而所述根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器的步骤包括:根据所述npm包获取请求获取与所述目标npm包具有相同高位版本号的多个待选npm包;将所述多个待选npm包中的低位版本号最大的待选npm包作为目标npm包;将所述目标npm包发送至所述WEB应用服务器。本申请实施例通过使用semver版本表达式,可以在满足兼容性前提的情况下,尽可能的使用最新的npm包,可以提高npm包的使用灵活度。可选地,在本申请实施例所述的npm包管理方法中,所述npm包获取请求中携带有关于所述目标npm包的统一资源定位符,所述semver版本表达式加载在所述统一资源定位符中。第二方面,本申请实施例提供了一种npm包管理方法,应用于WEB应用服务器,所述方法包括以下步骤:发送npm包部署请求至内容分发服务器,所述npm包部署请求携带有待部署的npm包的标识信息以及版本信息,所述npm包部署请求用于触发所述内容分发服务器部署与所述标识信息以及版本信息对应的npm包;获取用户端发送的npm包获取请求,并将所述npm包获取请求发送至所述内容分发服务器,所述npm包获取请求携带有待获取的目标npm包的标识信息以及版本信息;接收所述内容分发服务器返回的与所述标识信息以及版本信息对应的目标npm包;将所述目标npm包发送至所述用户端。第三方面,本申请实施例提供了一种npm包管理装置,应用于内容分发服务器,所述装置包括:第一获取模块,用于获取WEB应用服务器发送的npm包部署请求,所述npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;查询模块,用于根据所述npm包部署请求查询所述内容分发服务器内是否存储有所述目标npm包;第一发送模块,用于在所述内容分发服务器内未存储所述目标npm包时,根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;第一接收模块,用于接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储。第四方面,本申请实施例提供了一种npm包管理装置,应用于WEB应用服务器,所述装置包括:第二发送模块,用于发送npm包部署请求至内容分发服务器,所述npm包部署请求携带有待部署的npm包的标识信息以及版本信息,所述npm包部署请求用于触发所述内容分发服务器部署与所述标识信息以及版本信息对应的npm包;第二获取模块,用于获取用户端发送的npm包获取请求,并将所述npm包获取请求发送至所述内容分发服务器,所述npm包获取请求携带有待获取的目标npm包的标识信息以及版本信息;第二接收模块,用于接收所述内容分发服务器返回的与所述标识信息以及版本信息对应的目标npm包;第三发送模块,用于将所述目标npm包发送至所述用户端。第五方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述的方法。第六方面,本申请实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述的方法。由上可知,本申请通过获取WEB应用服务器发送的npm包部署请求,所述npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;根据所述npm包部署请求查询所述内容分发服务器是否存储有所述目标npm包;若未存储,则根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储;从而通过内容分发服务器将目标npm包间接转发给用户端,无需在WEB应用服务器中存储所有的目标npm包本文档来自技高网...

【技术保护点】
1.一种npm包管理方法,应用于内容分发服务器,其特征在于,所述方法包括以下步骤:/n获取WEB应用服务器发送的npm包部署请求,所述npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;/n根据所述npm包部署请求查询所述内容分发服务器是否存储有所述目标npm包;/n若未存储,则根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;/n接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储。/n

【技术特征摘要】
1.一种npm包管理方法,应用于内容分发服务器,其特征在于,所述方法包括以下步骤:
获取WEB应用服务器发送的npm包部署请求,所述npm包部署请求携带有待部署的目标npm包的标识信息以及版本信息;
根据所述npm包部署请求查询所述内容分发服务器是否存储有所述目标npm包;
若未存储,则根据所述标识信息以及所述版本信息向npm资源服务器发送npm包获取请求;
接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储。


2.根据权利要求1所述的npm包管理方法,其特征在于,所述接收所述npm资源服务器返回的与所述标识信息以及所述版本信息对应的目标npm包并存储的步骤之后,还包括:
获取WEB应用服务器发送的npm包获取请求,所述npm包获取请求源自用户端并携带有待获取的目标npm包的标识信息以及版本信息;
根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器,以使得所述WEB应用服务器将所述目标npm包转发给所述用户端。


3.根据权利要求2所述的npm包管理方法,其特征在于,所述根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器的步骤包括:
对所述npm包获取请求进行解析以获取其中的关于所述目标npm包的统一资源定位符;
根据所述统一资源定位符获取对应的目标npm包;
将所述目标npm包发送至所述WEB应用服务器。


4.根据权利要求2所述的npm包管理方法,其特征在于,所述版本信息包括semver版本表达式,所述semver版本表达式包括高位版本号以及低位版本号;
而所述根据所述npm包获取请求发送对应的目标npm包至所述WEB应用服务器的步骤包括:
根据所述npm包获取请求获取与所述目标npm包具有相同高位版本号的多个待选npm包;
将所述多个待选npm包中的低位版本号最大的待选npm包作为目标npm包;
将所述目标npm包发送至所述WEB应用服务器。


5.根据权利要求4所述的npm包管理方法,其特征在于,所述npm包获取请求中携带有关于所述目标npm包的统一资源定位符,所述semver版本表达式加载在所述统一资源定位符中。


6.一种npm包管理方法,应用于WEB应用服务器,其特征在于,所述方法包括以下...

【专利技术属性】
技术研发人员:黄后锦
申请(专利权)人:北京乐学帮网络技术有限公司
类型:发明
国别省市:北京;11

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

1