组件加载方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:28672555 阅读:25 留言:0更新日期:2021-06-02 02:48
本发明专利技术实施例公开了一种组件加载方法、装置、计算机设备及存储介质,通过设置组件加载器,组件加载器包括组件集合中各个组件的定义函数和组件版本号,定义函数包括组件名称和组件功能函数;获取组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址;根据组件地址下载组件集合中未下载的组件,存储组件集合中已下载组件的组件名称和组件功能函数的映射关系;根据映射关系,调用所需引用的组件,从而实现各个不同的软件项目不必单独配置组件加载功能,可以直接在存储的组件中调用所需引用的组件,当组件更新时,不需要在每个软件项目中修改组件配置,减少开发人员花费的时间和精力,提升了软件项目的运行效率。

【技术实现步骤摘要】
组件加载方法、装置、计算机设备及存储介质
本专利技术涉及计算机
,具体涉及一种组件加载方法、装置、计算机设备及存储介质。
技术介绍
随着网络技术的发展,前端开发逐渐变得重要和复杂,开发人员通常运用JavaScript脚本语言进行前端开发。在前端开发过程中,会涉及多个模块和组件,由于前端开发脚本语言无法单独运行,需要依赖网页异步加载,因此基于前端的模块和组件的加载方式与其他脚本语言不同。前端模块的加载方式是设置模块名称为全局可访问变量,通过引用模块名称来调用模块,使模块跟随前端浏览器页面的其他文件一起加载。前端组件的加载方式一般分为两种:一种是直接引用所需使用的组件的网络文件地址,使得所需使用的组件跟随页面一起加载;另一种是配置所需使用的组件,利用AMD(AsynchronousModuleDefinition,异步模块定义)方式和/或CMD(CommonModuleDefinition,通用模块定义)方式的组件加载器从网络中加载相应的组件。当需要更新组件的版本时,在第一种方式中,需要修改所需使用的组件对应的网络文件地址,若多个项目都同时引用了相同的组件,则需要同时修改多个项目中涉及的组件文件地址,而在第二种方式中,需要更新每个项目中所有组件的配置,因此无论在哪种组件加载方式下,开发人员都需要花费较多的时间和精力,并且容易发生错误,导致项目无法运行。
技术实现思路
本专利技术实施例提供一种组件加载方法、装置、计算机设备及存储介质,统一了组件的加载方式,当组件更新时,引用组件的项目会实时更新组件,避免逐个修改每个项目中的组件配置。本专利技术实施例提供一种组件加载方法,包括:设置组件加载器,所述组件加载器包括组件集合中各个组件的定义函数和组件版本号,所述定义函数包括组件名称和组件功能函数;获取所述组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址;根据所述组件地址下载所述组件集合中未下载的组件,存储所述组件集合中已下载组件的组件名称和组件功能函数的映射关系;根据所述映射关系,调用所需引用的组件。相应的,本专利技术实施例还提供一种组件加载装置,包括:设置单元,用于设置组件加载器,所述组件加载器包括组件集合中各个组件的定义函数和组件版本号,所述定义函数包括组件名称和组件功能函数;获取单元,用于获取所述组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址;下载单元,用于根据所述组件地址下载所述组件集合中未下载的组件,存储所述组件集合中已下载组件的组件名称和组件功能函数的映射关系;调用单元,用于根据所述映射关系,调用所需引用的组件。可选的,所述获取单元还用于按照所述定义函数确定所述组件集合中未下载的组件;根据所述组件加载器获取所述未下载的组件对应的组件名称和组件版本号;将所述未下载的组件对应的组件名称按照预设规则排序,得到组件名称序列;将所述未下载的组件对应的组件版本号相加得到组合版本号;拼接所述组件名称序列和所述组合版本号形成所述组件地址。可选的,所述组件功能函数包括引用所述组件集合中的组件,所述获取单元还用于获取所述定义函数的字符串形式;利用正则表达式在所述字符串形式中查找所述定义函数引用的模块和组件;将所述定义函数引用的模块和/或组件保存至引用数组;根据所述引用数组确定所述组件集合中未下载的组件。可选的,所述定义函数引用的模块和组件的命名规范不同,所述获取单元还用于若所述引用数组的长度为零,则判断所述定义函数对应的组件是否为所述组件集合中未下载的组件;若所述引用数组的长度不为零,则遍历所述引用数组,根据所述命名规范识别出所述引用数组中所述定义函数引用的模块,在存储的组件中识别出所述引用数组中已下载的组件,去除所述引用数组中所述模块、所述已下载的组件和重复的组件,形成更新引用数组,确定所述更新引用数组中的组件为所述组件集合中未下载的组件。可选的,所述下载单元还用于若根据所述组件地址下载所述组件集合中未下载的组件,则将所述组件集合中未下载的组件划分为第一组件,所述第一组件包括所述组件集合中已下载组件;获取所述第一组件对应的组件名称和组件功能函数;利用一全局哈希变量保存所述第一组件对应的组件名称和组件功能函数的映射关系。可选的,所述调用单元还用于根据所述全局哈希变量,从所述第一组件中查找第二组件,所述第二组件包括所述所需引用的组件;获取所述第二组件的组件名称;根据所述映射关系获取所述第二组件的组件名称对应的组件功能函数;通过调用所述第二组件的组件功能函数,以执行调用所述所需引用的组件。可选的,所述装置还用于若更新所述组件集合中的组件对应的组件版本号,形成第一组件版本号,则更新包括所述第一组件版本号的组件地址,形成第一组件地址;根据所述第一组件地址下载所述第一组件版本号对应的更新后组件,存储所述第一组件版本号对应的更新后组件的组件名称和组件功能函数的映射关系。可选的,所述下载单元还用于设置组件下载跟踪函数;若所述组件集合中未下载的组件下载完成,则调用所述组件下载跟踪函数发出通知。同样的,本专利技术实施例还提供一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于在执行所述组件加载方法任一项的步骤。此外,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现组件加载方法任一项的步骤。本专利技术实施例提供一种组件加载方法、装置、计算机设备及存储介质,设置组件加载器,每次利用组件加载器下载包括的组件集合中未下载的组件,使得组件集合中的各个组件只下载一次,并存储组件集合中已下载组件的组件名称和组件功能函数的映射关系。各个不同的软件项目不必单独配置组件加载功能,可以直接在存储的组件中调用所需引用的组件,统一了所有软件项目调用组件的方法。当组件更新时,只需在设置的组件加载器中更新组件的版本号,使得组件加载器重新获取更新后的组件,所有软件项目可以实时获取更新后的组件,不需要在每个软件项目中修改组件配置,减少开发人员花费的时间和精力,提升了软件项目的运行效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的组件加载装置的系统示意图;图2是本专利技术实施例提供的组件加载方法的流程示意图;图3是本专利技术实施例提供的组件加载方法的另一流程示意图;图4是本专利技术实施例提供的组件加载装置的结构示意图;图5是本专利技术实施例提供的计算机设备的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的本文档来自技高网...

【技术保护点】
1.一种组件加载方法,其特征在于,包括:/n设置组件加载器,所述组件加载器包括组件集合中各个组件的定义函数和组件版本号,所述定义函数包括组件名称和组件功能函数;/n获取所述组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址;/n根据所述组件地址下载所述组件集合中未下载的组件,存储所述组件集合中已下载组件的组件名称和组件功能函数的映射关系;/n根据所述映射关系,调用所需引用的组件。/n

【技术特征摘要】
1.一种组件加载方法,其特征在于,包括:
设置组件加载器,所述组件加载器包括组件集合中各个组件的定义函数和组件版本号,所述定义函数包括组件名称和组件功能函数;
获取所述组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址;
根据所述组件地址下载所述组件集合中未下载的组件,存储所述组件集合中已下载组件的组件名称和组件功能函数的映射关系;
根据所述映射关系,调用所需引用的组件。


2.根据权利要求1所述的方法,其特征在于,所述获取所述组件集合中未下载的组件对应的组件名称和组件版本号,形成组件地址,包括:
按照所述定义函数确定所述组件集合中未下载的组件;
根据所述组件加载器获取所述未下载的组件对应的组件名称和组件版本号;
将所述未下载的组件对应的组件名称按照预设规则排序,得到组件名称序列;
将所述未下载的组件对应的组件版本号相加得到组合版本号;
拼接所述组件名称序列和所述组合版本号形成所述组件地址。


3.根据权利要求2所述的方法,其特征在于,所述组件功能函数包括引用所述组件集合中的组件,所述按照所述定义函数确定所述组件集合中未下载的组件,包括:
获取所述定义函数的字符串形式;
利用正则表达式在所述字符串形式中查找所述定义函数引用的模块和组件;
将所述定义函数引用的模块和/或组件保存至引用数组;
根据所述引用数组确定所述组件集合中未下载的组件。


4.根据权利要求3所述的方法,其特征在于,所述定义函数引用的模块和组件的命名规范不同,所述根据所述引用数组确定所述组件集合中未下载的组件,包括:
若所述引用数组的长度为零,则判断所述定义函数对应的组件是否为所述组件集合中未下载的组件;
若所述引用数组的长度不为零,则遍历所述引用数组,根据所述命名规范识别出所述引用数组中所述定义函数引用的模块,在存储的组件中识别出所述引用数组中已下载的组件,去除所述引用数组中所述模块、所述已下载的组件和重复的组件,形成更新引用数组,确定所述更新引用数组中的组件为所述组件集合中未下载的组件。


5.根据权利要求1所述的方法,其特征在于,所述根据所述组件地址下载所述组件集合中未下载的组件,存储所述组件集合中已下载组件的组件名称和组件功能函数的映射关系,包括:
若根据所述组件地址下载所述组件集合中未下载的组件,则...

【专利技术属性】
技术研发人员:郑旭泽
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

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

1