项目启动方法、装置、电子设备及存储介质制造方法及图纸

技术编号:30704868 阅读:19 留言:0更新日期:2021-11-06 09:48
本公开提供了一种项目启动方法、装置、电子设备及存储介质,该项目启动方法包括:接收针对目标项目的启动指令,从服务端加载与所述目标项目相关联的外部目标依赖包;将加载好的所述外部目标依赖包存放到本地缓存,并将所述外部目标依赖包的存储路径修改为本地路径;根据所述本地路径,读取所述本地缓存对应的所述外部目标依赖包的文件内容,并将存储于所述本地缓存中的所述外部目标依赖包与所述目标项目关联。本公开实施例,能够提高项目启动的效率。率。率。

【技术实现步骤摘要】
项目启动方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种项目启动方法、装置、电子设备和存储介质。

技术介绍

[0002]在项目开发过程中,通常需要对项目进行管理,单仓库管理模式由于具有易于复用、简化依赖管理、便于组件代码之间同步修改等优势,被广泛使用。在单仓库管理模式下,一个仓库下管理着多个项目,且每个项目都会拥有自己的依赖。然而,在仓库初始化时,由于依赖数量过多,且各个依赖均需要进项安装,导致仓库初始化时时间较长,进而影响开发体验。

技术实现思路

[0003]本公开实施例至少提供一种项目启动方法、装置、电子设备及计算机可读存储介质。
[0004]第一方面,本公开实施例提供了一种项目启动方法,包括:
[0005]接收针对目标项目的启动指令,从服务端加载与所述目标项目相关联的外部目标依赖包;
[0006]将加载好的所述外部目标依赖包存放到本地缓存,并将所述外部目标依赖包的存储路径修改为本地路径;
[0007]根据所述本地路径,读取所述本地缓存对应的所述外部目标依赖包的文件内容,并将存储于所述本地缓存中的所述外部目标依赖包与所述目标项目关联。
[0008]本公开实施例中,在目标项目启动的过程中,无需将所有项目下引入的依赖都在运行前就安装并关联好,只需加载与目标项目相关联的外部目标依赖包,并进行关联即可,进而可实现按需加载,最大程度上减少了Setup时由于依赖下载、安装和配置时所需要的耗时,减少了本地空间的损耗,从而提高了项目的启动效率,改善了开发体验。
[0009]根据第一方面,在一种可能的实施方式中,所述从服务端加载与所述目标项目相关联的外部目标依赖包,包括:
[0010]根据所述目标项目所配置的依赖列表,确定所述外部目标依赖包;
[0011]判断所述外部目标依赖包是否已经存在于本地;
[0012]在所述外部目标依赖包不存在于所述本地的情况下,从所述服务端加载所述外部目标依赖包。
[0013]本公开实施例中,在所述外部目标依赖包不存在于所述本地的情况下,从所述服务端加载所述外部目标依赖包,避免了重复加载的情况发生,提高了系统资源的利用率。
[0014]根据第一方面,在一种可能的实施方式中,所述方法还包括:
[0015]在所述外部目标依赖包存在于所述本地的情况下,判断存储于所述本地的所述外部目标依赖包是否符合预设要求;
[0016]在所述外部目标依赖包不符合所述预设要求的情况下,从所述服务端加载所述外部目标依赖包。
[0017]本公开实施例中,在所述外部目标依赖包存在于所述本地的情况下,还需进一步确认存储于所述本地的所述外部目标依赖包是否符合预设要求,以保证所关联的外部目标依赖包的准确性。
[0018]根据第一方面,在一种可能的实施方式中,所述判断存储于所述本地的所述外部目标依赖包是否符合预设要求,包括:
[0019]确定存储于所述本地的所述外部目标依赖包对应的第一哈希值;
[0020]获取所述服务端上的所述外部目标依赖包对应的第二哈希值;
[0021]在所述第一哈希值与所述第二哈希值相等的情况下,确定存储于所述本地的所述外部目标依赖包符合所述预设要求。
[0022]本公开实施例中,通过哈希值来校验存储于所述本地的所述外部目标依赖包符合所述预设要求,可以提升校验的精度与效率。
[0023]根据第一方面,在一种可能的实施方式中,所述根据所述目标项目所配置的依赖列表,确定所述外部目标依赖包,包括:
[0024]通过本地脚本读取所述依赖列表的配置项的外部参数的方式,确定所述外部目标依赖包。
[0025]本公开实施例中,通过本地脚本读取所述依赖列表的配置项的外部参数的方式,确定所述外部目标依赖包,相较于通过依赖树进行匹配的方法,可以避免将基建的自身依赖进行匹配,提高了外部目标依赖包的确定效率。
[0026]根据第一方面,在一种可能的实施方式中,所述方法还包括:
[0027]将至少一个项目所需要的至少一个外部依赖进行打包,生成至少一个外部依赖包;
[0028]将所述至少一个外部依赖包存储到所述服务端;所述外部目标依赖包为所述至少一个外部依赖包中的至少一个。
[0029]本公开实施例中,通过提前将项目所需要的至少一个外部依赖进行打包并上传服务端,可以方便后续的依赖包的加载。
[0030]根据第一方面,在一种可能的实施方式中,所述外部依赖包标注有外部依赖配置,其中,所述外部依赖配置包括所述外部依赖包的名称及所述外部依赖包的链接地址。
[0031]本公开实施例中,通过标注外部依赖配置,可以提高从服务端加载外部目标依赖包的效率。
[0032]第二方面,本公开实施例提供了一种项目启动装置,包括:
[0033]加载模块,用于接收针对目标项目的启动指令,从服务端加载与所述目标项目相关联的外部目标依赖包;
[0034]修改模块,用于将加载好的所述外部目标依赖包存放到本地缓存,并将所述外部目标依赖包的存储路径修改为本地路径;
[0035]关联模块,用于根据所述本地路径,读取所述本地缓存对应的所述外部目标依赖包的文件内容,并将存储于所述本地缓存中的所述外部目标依赖包与所述目标项目关联。
[0036]根据第二方面,在一种可能的实施方式中,所述加载模块具体用于:
[0037]根据所述目标项目所配置的依赖列表,确定所述外部目标依赖包;
[0038]判断所述外部目标依赖包是否已经存在于本地;
[0039]在所述外部目标依赖包不存在于所述本地的情况下,从所述服务端加载所述外部目标依赖包。
[0040]根据第二方面,在一种可能的实施方式中,所述加载模块具体还用于:
[0041]在所述外部目标依赖包存在于所述本地的情况下,判断存储于所述本地的所述外部目标依赖包是否符合预设要求;
[0042]在所述外部目标依赖包不符合所述预设要求的情况下,从所述服务端加载所述外部目标依赖包。
[0043]根据第二方面,在一种可能的实施方式中,所述加载模块具体还用于:
[0044]确定存储于所述本地的所述外部目标依赖包对应的第一哈希值;
[0045]获取所述服务端上的所述外部目标依赖包对应的第二哈希值;
[0046]在所述第一哈希值与所述第二哈希值相等的情况下,确定存储于所述本地的所述外部目标依赖包符合所述预设要求。
[0047]根据第二方面,在一种可能的实施方式中,所述加载模块具体用于:
[0048]通过本地脚本读取所述依赖列表的配置项的外部参数的方式,确定所述外部目标依赖包。
[0049]根据第二方面,在一种可能的实施方式中,所述装置还包括打包模块;所述打包模块用于:
[0050]将至少一个项目所需要的至少一个外部依赖进行打包,生成至少一个外部依赖包;
[0051]将所述至少一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种项目启动方法,其特征在于,包括:接收针对目标项目的启动指令,从服务端加载与所述目标项目相关联的外部目标依赖包;将加载好的所述外部目标依赖包存放到本地缓存,并将所述外部目标依赖包的存储路径修改为本地路径;根据所述本地路径,读取所述本地缓存对应的所述外部目标依赖包的文件内容,并将存储于所述本地缓存中的所述外部目标依赖包与所述目标项目关联。2.根据权利要求1所述的方法,其特征在于,所述从服务端加载与所述目标项目相关联的外部目标依赖包,包括:根据所述目标项目所配置的依赖列表,确定所述外部目标依赖包;判断所述外部目标依赖包是否已经存在于本地;在所述外部目标依赖包不存在于所述本地的情况下,从所述服务端加载所述外部目标依赖包。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述外部目标依赖包存在于所述本地的情况下,判断存储于所述本地的所述外部目标依赖包是否符合预设要求;在所述外部目标依赖包不符合所述预设要求的情况下,从所述服务端加载所述外部目标依赖包。4.根据权利要求3所述的方法,其特征在于,所述判断存储于所述本地的所述外部目标依赖包是否符合预设要求,包括:确定存储于所述本地的所述外部目标依赖包对应的第一哈希值;获取所述服务端上的所述外部目标依赖包对应的第二哈希值;在所述第一哈希值与所述第二哈希值相等的情况下,确定存储于所述本地的所述外部目标依赖包符合所述预设要求。5.根据权利要求2所述的方法,其特征在于,所述根据所述目标项目所配置的依赖列表,确定所述外部目标依赖包,包括:通过本地脚本读取所述依赖列表的配置...

【专利技术属性】
技术研发人员:何伟能
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:

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

1