多种工程化工具的融合方法及装置制造方法及图纸

技术编号:33915525 阅读:19 留言:0更新日期:2022-06-25 20:10
本公开是关于多种工程化工具的融合方法及装置。该方法包括:添加项目中配置的插件;插件是将工程化工具封装后形成的;初始化插件;获取任务流名称;任务流包括多个任务,其中,将工程化工具实现的每项功能称为任务;根据任务流名称从任务流队列中获取任务流对应的所有任务函数;任务函数用于实现任务;任务流队列包括:任务流名称与任务流对应的所有任务函数的映射关系;按照预设执行方式执行任务函数。其中,可以将工程化工具封装为插件,融合和标准化了多种不同的工程化工具,可实现不同项目之间无缝复用工具,无需进行二次改造和开发,灵活性高。灵活性高。灵活性高。

【技术实现步骤摘要】
多种工程化工具的融合方法及装置


[0001]本公开涉及项目开发
,尤其涉及多种工程化工具的融合方法及装置。

技术介绍

[0002]前端项目研发过程存在许多环节,例如项目构建、检测、测试、发布等等,每个环节需使用多种不同的工程化工具,例如构建环节使用webapack工具、检测环节使用eslint工具、测试环节使用jest工具、样式编码环节使用less工具等等,工程化工具是用于处理各环节的对应功能需求,用工具的方式解决研发过程中的需求,提升项目研发效率。
[0003]目前一般采用的方案是当实现研发环节功能需求时使用工程化工具提供的调用方式分别去执行,调用方式为工具提供的接口或者命令行方式,例如当使用eslint检测代码时,可调用eslint提供的命令行命令“eslint
‑‑
fix”。相同环节由于功能需求不同需使用不同的工具,例如构建环节时会选择webpack或者rollup,测试时会选择jest或者mocha,目前是通过修改调用方式将工具替换为其他工具,此时依赖原工具的代码均需要改造,相同的工具存在复用到其他项目的需求,目前是通过拷贝调用代码到另外一个项目,然后改造对应环节的调用方式来实现。
[0004]上述方案中存在不同项目之间无法很好的复用相同工具,需要复制代码逻辑到另外一个项目中,同时修改对应环节的调用方式和代码,浪费人力,增加项目研发周期。

技术实现思路

[0005]为克服相关技术中存在的问题,本公开实施例提供多种工程化工具的融合方法及装置。所述技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种多种工程化工具的融合方法,包括:
[0007]添加项目中配置的插件;所述插件是将工程化工具封装后形成的;
[0008]初始化所述插件;
[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]任务注册指令接收模块,用于接收任务注册指令,所述任务注册指令中包括:待注册的任务流名称和待注册的任务函数;
[0052]检测模块,用于检测所述待注册的任务流名称对应的任务流队列是否已经存在;
[0053]创建模块,用于在所述检测模块检测到所述待注册的任务流名称对应的任务流队列不存在时,创建新任务流队列;
[0054]建立模块,用于建立所述待注册的任务流名称与所述新任务流队列的映射关系;
[0055]第一函数插入模块,用于将所述待注册的任务函数插入到所述新任务流队列中;
[0056]第二函数插入模块,用于在所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多种工程化工具的融合方法,其特征在于,包括:添加项目中配置的插件;所述插件是将工程化工具封装后形成的;初始化所述插件;获取任务流名称;所述任务流包括多个任务,其中,将所述工程化工具实现的每项功能称为所述任务;根据所述任务流名称从任务流队列中获取所述任务流对应的所有任务函数;所述任务函数用于实现所述任务;所述任务流队列包括:所述任务流名称与所述任务流对应的所有任务函数的映射关系;按照预设执行方式执行所述任务函数。2.根据权利要求1所述的方法,其特征在于,所述添加项目中配置的插件,包括:加载插件配置文件,所述配置文件用于配置项目注册的所述插件以及所述插件对应配置项;序列化所述配置文件,得到注册的所述插件以及所述插件对应的参数;根据所述插件对应的参数和预设的添加方法,将所述插件插入到插件数组中。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收任务注册指令,所述任务注册指令中包括:待注册的任务流名称和待注册的任务函数;检测所述待注册的任务流名称对应的任务流队列是否已经存在;若不存在,创建新任务流队列;建立所述待注册的任务流名称与所述新任务流队列的映射关系;将所述待注册的任务函数插入到所述新任务流队列中;若存在,将所述待注册的任务函数插入到与所述待注册的任务流名称对应的任务流队列中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收任务删除指令,所述任务删除指令中包括:待删除的任务流名称和待删除的任务函数;在已注册的任务流队列中删除所述待删除的任务流名称和所述待删除的任务函数。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:接收插件删除指令,所述插件删除指令中包括:待删除的插件名称;在插件数组中删除所述待删...

【专利技术属性】
技术研发人员:龙佳
申请(专利权)人:无线生活杭州信息科技有限公司
类型:发明
国别省市:

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

1