前端框架更新方法、装置、设备及存储介质
文献发布时间:2023-06-19 12:13:22
技术领域
本发明涉及研发框架开发领域,尤其涉及一种前端框架更新方法、装置、设备及存储介质。
背景技术
当前市场,每个公司都有自己特有的生态环境,部署的前端框架也基本处于不断更新的状态,以适应公司的技术迭代发展需求。现在流行的前端框架有2个,一个是基于react的create-react-app脚手架,一个是基于vue的vue-cli,一般需要先配置脚手架来实现一套公司内公用的前端框架的工程设施,然后在前端框架的config.js文件中配置公司内部各部门的插件库,接着再通过webpack merg的方式将自定义配置和通用配置结合,实现各公司内部前端框架的自定义配置,满足公司内部的不同需求。但是其中的package.json中的配置都需要进行命令行手动管理,且前端框架中各模块层次拆分不够明显,使得前端框架的迭代更新流程较为复杂。
发明内容
本发明的主要目的在于解决现有前端框架的搭建在迭代更新流程上较为复杂的技术问题。
本发明第一方面提供了一种前端框架更新方法,包括:
获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件,以及根据所述文本信息,配置所述目标前端框架修改的自定义配置文件;
根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件;
将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,并采用所述新的工程目录对所述目标前端框架执行更新。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件包括:
解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的基础配置参数;
根据所述基础配置参数对应的赋值信息,生成文件调用请求,并将所述文件调用请求发送至所述目标前端框架对应的预置存储空间;
当接收到所述存储空间对所述文件调用信息的响应信息时,解析所述响应信息,得到所述目标前端框架对应的多个基础配置文件。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述文本信息,配置所述目标前端框架修改的自定义配置文件包括:
解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的自定义配置参数;
根据所述自定义配置参数,选取对应的预置配置模板,并将所述自定义配置参数对应的赋值信息写入选取的配置模板中;
对各所述配置模板进行封装,得到所述目标前端框架修改的自定义配置文件。
可选的,在本发明第一方面的第三种实现方式中,所述根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件包括:
根据各所述基础配置文件的部署类型,从预置插件包中提取各所述基础配置文件对应的插件标识信息;
根据所述插件标识信息,配置各所述基础配置文件对应的签名文件,并将各所述签名文件插入所述基础配置文件中,得到对应类型的更新子插件;
对各所述不同类型的更新子插件进行封装,得到所述目标前端框架的更新插件。
可选的,在本发明第一方面的第四种实现方式中,所述根据各所述基础配置文件的部署类型,从预置插件包中提取各所述基础配置文件对应的插件标识信息:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的初始标识信息;
解析所述初始标识信息,并从解析的初始标识信息中提取各所述基础配置文件对应的插件标识信息。
可选的,在本发明第一方面的第五种实现方式中,所述根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的初始标识信息包括:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的标识可读文件;
解析所述标识可读文件,得到标识命令行对话框,并提取所述标识命令对话框中的标识命令行,得到对应的初始标识信息。
可选的,在本发明第一方面的第六种实现方式中,所述基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录包括:
依次验证所述更新脚本中各更新命令是否符合预置命令基准条件,并组装符合所述命令基准条件的更新命令,得到新的更新脚本;
执行所述新的更新脚本中的更新命令,得到多个更新模板文件,并依次对比各所述更新模板文件与所述目标前端框架对应的预置工程目录;
将未存在于所述工程目录的更新模板文件通过对应的更新接口拷贝至所述工程目录中,得到新的工程目录。
本发明第二方面提供了一种前端框架更新装置,包括:
获取模块,用于获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
配置模块,用于根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件,以及根据所述文本信息,配置所述目标前端框架修改的自定义配置文件;
分类模块,用于根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件;
生成模块,用于将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
更新模块,用于基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,并采用所述新的工程目录对所述目标前端框架执行更新。
可选的,在本发明第二方面的第一种实现方式中,所述配置模块包括:
搜集单元,用于解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的基础配置参数;根据所述基础配置参数对应的赋值信息,生成文件调用请求,并将所述文件调用请求发送至所述目标前端框架对应的预置存储空间;当接收到所述存储空间对所述文件调用信息的响应信息时,解析所述响应信息,得到所述目标前端框架对应的多个基础配置文件。
可选的,在本发明第二方面的第二种实现方式中,所述配置模块还包括:
配置单元,用于解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的自定义配置参数;根据所述自定义配置参数,选取对应的预置配置模板,并将所述自定义配置参数对应的赋值信息写入选取的配置模板中;对各所述配置模板进行封装,得到所述目标前端框架修改的自定义配置文件。
可选的,在本发明第二方面的第三种实现方式中,所述分类模块包括:
提取单元,用于根据各所述基础配置文件的部署类型,从预置插件包中提取各所述基础配置文件对应的插件标识信息;
配置单元,用于根据所述插件标识信息,配置各所述基础配置文件对应的签名文件,并将各所述签名文件插入所述基础配置文件中,得到对应类型的更新子插件;
封装单元,用于对各所述不同类型的更新子插件进行封装,得到所述目标前端框架的更新插件。
可选的,在本发明第二方面的第四种实现方式中,所述提取单元还用于:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的初始标识信息;
解析所述初始标识信息,并从解析的初始标识信息中提取各所述基础配置文件对应的插件标识信息。
可选的,在本发明第二方面的第五种实现方式中,所述提取单元还用于:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的标识可读文件;
解析所述标识可读文件,得到标识命令行对话框,并提取所述标识命令对话框中的标识命令行,得到对应的初始标识信息。
可选的,在本发明第二方面的第六种实现方式中,所述更新模块包括第一更新单元和第二单元单元,其中,所述第一更新单元用于:
依次验证所述更新脚本中各更新命令是否符合预置命令基准条件,并组装符合所述命令基准条件的更新命令,得到新的更新脚本;
执行所述新的更新脚本中的更新命令,得到多个更新模板文件,并依次对比各所述更新模板文件与所述目标前端框架对应的预置工程目录;
将未存在于所述工程目录的更新模板文件通过对应的更新接口拷贝至所述工程目录中,得到新的工程目录。
本发明第三方面提供了一种前端框架更新设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述前端框架更新设备执行上述的前端框架更新方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的前端框架更新方法。
本发明提供的技术方案中,开发人员先在交互界面以文本信息的方式写入目标前端框架的修改内容,然后通过文本信息读取目标前端框架的多个基础配置文件,同时对基础配置文件进行分类,得到多个更新插件,以用于更新目标前端框架的基础配置;同时配置开发人员的自定义配置文件,并将自定义配置文件添加至更新插件中,以生成目标前端框架的更新脚本,通过该更新脚本,一方面可以对目标前端框架的基础配置进行更新,另一方面也可以对目标前端框架的自定义配置进行更新,以实现了前端框架的自动化更新,降低了前端框架自动化更新的复杂程度,同时提升前端框架更新的个性化程度。
附图说明
图1为本发明实施例中前端框架更新方法的第一实施例示意图;
图2为本发明实施例中前端框架更新方法的第二实施例示意图;
图3为本发明实施例中前端框架更新装置的第一实施例示意图;
图4为本发明实施例中前端框架更新装置的第二实施例示意图;
图5为本发明实施例中前端框架更新设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种前端框架更新方法、装置、设备及存储介质,获取客户端发送的文本信息;根据文本信息,搜集目标前端框架对应的多个基础配置文件,以及根据文本信息,配置目标前端框架修改的自定义配置文件;根据各基础配置文件的部署类型,对各基础配置文件进行分类处理,得到目标前端框架的更新插件;将自定义配置文件添加至更新插件中,以供生成对应的更新脚本,其中,更新脚本中包含多条更新命令;基于更新脚本,更新目标前端框架对应的当前工程目录,得到新的工程目录,并采用新的工程目录对目标前端框架执行更新。本发明实现了前端框架的自动化更新,降低了前端框架自动化更新的复杂程度。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中前端框架更新方法的第一实施例包括:
101、获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
可以理解的是,本发明的执行主体可以为前端框架更新装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
本实施例中,在进行增删修改前端框架时,可以通过增删修改文件中插件的方式进行增删修改。为了实现前端框架的自动化更新,此处先由开发人员在客户端的交互界面上编写目标前端框架的修改内容,其中,修改内容以文本格式文件进行编写,即文本信息;然后通过客户端上传至后台服务器;文本信息中包括前端框架的基础配置和自定义配置。
具体的,比如以JSON(JavaScript Object Notation,JS对象简谱)编写的前端框架,可以将修改内容写入预置的模板中,生成HTML(Hyper Text Markup Language,超文本标记语言)文件以用于修改package.json中文件的插件,其中,可以通过webpack编写前端框架中的基础配置,可以通过config.js编写前端框架中的自定义配置。
102、根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件,以及根据所述文本信息,配置所述目标前端框架修改的自定义配置文件;
本实施例中,文本信息中撰写了前端框架修改内容的基础配置和自定义配置,其中,基础配置由开发人员预先编写好并存储至本地文件夹或者存储服务器中,此时则可以直接根据文本信息中基础配置对应的修改内容,搜集对应的基础配置文件,用于后续目标前端框架中对基础配置对应插件的更新,其中,文本信息中编写有基础配置对应的标识字段,标识字段与基础配置文件的文件名称相绑定,即根据标识字段,可以搜索到本地文件夹或者存储服务器中绑定的基础配置文件;文本信息中的自定义配置由开发人员撰写相应的命令行,然后根据命令行的配置名称,将其写入预置的自定义空白表格对应的位置中,即可转化为统一格式的自定义配置文件。
103、根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件;
本实施例中,基础配置文件的部署类型包括开发环境和发布环境,根据基础配置文件的部署类型进行规范化分类处理,其中,开发环境对应的基础配置文件可以分类至devDependencies对应的插件模块,发布环境对应的基础配置环境可以分类至dependencies对应的插件模块,可以通过NODE_ENV=developement或NODE_ENV=production指定开发环境或者发布环境。其中,“devDependencies”依赖的基础配置文件只能在开发环境下使用,生产环境不会被打入包内;而“dependencies”依赖的基础配置文件不仅开发环境能使用,生产环境也能使用,意思是安装在dependencies的依赖开发环境也能使用而不需要再在“devDependencies”里再安装一遍,比如babel编译工具只有开发时使用,那只要配devDependencies即可,若是在dependencies里安装的基础配置文件,则在开发环境中也能使用。
104、将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
本实施例中,自定义配置文件中包含开发人员的scripts命令配置,在将自定义配置文件添加到更新插件后,生成一个更新脚本,可以为sh文件,并通过相应的sh文件运行工具进行运行即可。另外,更新脚本中的各更新命令与目标前端框架各修改内容的配置文件相对应,包括基础配置文件对应的更新命令和自定义配置文件对应的更新命令。后续在对目标前端框架执行更新时,根据更新命令重新读取package.json,以刷新当前的HTML配置文件。
进一步地,目标前端框架的修改还引入了commander-,以用于注入自定义命令,引入inquirer脚本以用于与用户进行交互,引入ORA-以用于提示目标前端框架更新的反馈,加载,成功,错误信息。另外,目标前端框架还加入检查更新的脚本,这样可以保证下次开发者使用的是最新的目标前端框架。
105、基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,并采用所述新的工程目录对所述目标前端框架执行更新。
本实施例中,当前工程目录记录有目标前端框架当前的配置信息,包含各功能项目对应的babel.config配置、eslint规范代码、jest测试单元、husky代码提交钩、nodejs服务、配置文件、代理设置、启动服务、框架配置、package.json配置等内容。根据更新脚本,从预置数据库中获取相应的功能项目相应的内容,并将当前工程目录中未存在的功能项目拷贝到当前工程项目中,并采用新的工程项目重新加载目标前端框架,即可实现对目标前端框架的更新。
本发明实施例中,开发人员先在交互界面以文本信息的方式写入目标前端框架的修改内容,然后通过文本信息读取目标前端框架的多个基础配置文件,同时对基础配置文件进行分类,得到多个更新插件,以用于更新目标前端框架的基础配置;同时配置开发人员的自定义配置文件,并将自定义配置文件添加至更新插件中,以生成目标前端框架的更新脚本,通过该更新脚本,一方面可以对目标前端框架的基础配置进行更新,另一方面也可以对目标前端框架的自定义配置进行更新,以实现了前端框架的自动化更新,降低了前端框架自动化更新的复杂程度,同时提升前端框架更新的个性化程度。
请参阅图2,本发明实施例中前端框架更新方法的第二实施例包括:
201、获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
202、解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的基础配置参数;
203、根据所述基础配置参数对应的赋值信息,生成文件调用请求,并将所述文件调用请求发送至所述目标前端框架对应的预置存储空间;
204、当接收到所述存储空间对所述文件调用信息的响应信息时,解析所述响应信息,得到所述目标前端框架对应的多个基础配置文件;
本实施例中,文本信息中对基础配置的修改内容中,撰写有配置参数,比如初始化数据、模块导出、监视器、生命周期等,然后各配置参数编写有赋值信息,比如对于页面的生命周期,赋值信息可以包括:组件切入前台时显示、组件切入后台时显示、组件所在页面尺寸变化时执行等,比如对于监听器,赋值信息可以包括监听对象名称、监听对象数量、监听对象触发条件等。对于不需要修改的基础配置,文本信息中对应的配置参数的赋值信息为空,需要修改的基础配置,文本信息中对应的配置参数编写有对应的赋值信息,此事可选取为编写有赋值信息的配置参数为基础配置参数。
本实施例中,在获取得到基础配置对应的基础赋值信息后,即可确定前端框架需要修改的基础配置,将基础赋值信息作为配置请求内容写入预置文件调用请求的模板中,即可生成文件调用请求,例如Ajax请求,可以通过HTTP GET方法请求载入JSON数据。最后根据文件调用请求中的基础赋值信息,在目标前端框架的存储空间中检索对应的基础配置文件,并以响应信息的方式返回至本服务器,其中,存储空间可以为本地的物理存储空间,也可以为服务器的云存储空间。
205、解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的自定义配置参数;
206、根据所述自定义配置参数,选取对应的预置配置模板,并将所述自定义配置参数对应的赋值信息写入选取的配置模板中;
207、对各所述配置模板进行封装,得到所述目标前端框架修改的自定义配置文件;
本实施例中,文本信息中对自定义配置的修改内容中,编写有自定义配置参数,而对于不同的自定义配置参数,关联有对应的配置模板可以对自定义配置参数进行规范化处理,其中,配置模板中包括每个自定义配置的配置名称以及包含的配置参数,匹配配置模板中相应的配置名称,将自定义配置参数中的赋值信息依次填入配置模板中,而对于没有被赋值的配置参数,则可以自动设置为空或者按照默认设置进行赋值即可。在自定义配置参数对应的赋值信息对各配置模板均写入完毕后,即可将各配置模板封装成自定义配置文件。
208、根据各所述基础配置文件的部署类型,从预置插件包中提取各所述基础配置文件对应的插件标识信息;
209、根据所述插件标识信息,配置各所述基础配置文件对应的签名文件,并将各所述签名文件插入所述基础配置文件中,得到对应类型的更新子插件;
210、对各所述不同类型的更新子插件进行封装,得到所述目标前端框架的更新插件;
本实施例中,插件标识信息包括但不限于各种用于标识基础配置文件的信息。插件标识信息可以包括应用名称、基础配置文件名、版本号等中的至少任一项,例如,基础配置文件的插件标识信息可以仅包括应用名称,也可以包括应用名称、包名、版本号三项。
基础配置文件的清单文件(比如manifest.xml)中包含插件标识信息,可以从该清单文件中提取基础配置文件指定的插件初始标识信息。优选地,可以调用标识信息读取工具,以获得插件初始标识信息,其中,标识信息读取工具指的是智能操作系统所提供的用于读取插件初始标识信息的工具。标识信息读取工具可以通过读取基础配置文件中的清单文件(manifest.xml)来获取插件初始标识信息;标识信息读取工具可以为安卓操作系统下的adb工具(AndroidDebug Bridge,简称为adb)。
本实施例中,根据插件标识信息,为基础配置文件配置对应的签名文件,并将所配置的签名文件插入插件包。其中,签名文件包括但不限于各种包含签名信息的文件。
集成在基础配置文件中的插件需要运行时,主机可以根据各更新子插件的签名文件来获得签名信息,并将该签名信息与预定的签名信息相比较。如果一致,则主机可以允许该更新子插件运行。如果不一致,则主机不允许该更新子插件运行。其中,不同的更新子插件可以被分配相同的签名文件。或者,不同的更新子插件也可以被分配不同的签名文件。每个更新子插件包可以被分配一个签名文件,如随机码;又如,更新子插件的签名文件还可以基于各种签名文件生成算法来生成。
具体的,将所配置的签名文件插入更新子插件的方式包括但不限于以下3种:
1)自行为更新子插件分配或生成签名文件,并将所分配的或所生成的签名文件插入更新子插件;
2)从第一签名装置中为更新子插件获取签名文件,并将所获取的签名文件插入插件包中;
3)将更新子插件提供给第二签名装置,并由该第二签名装置为该更新子插件配置签名文件,再将该签名文件插入插件包中,随后,可以从第二签名装置中接收已插入签名文件的更新子插件。
其中,第一签名装置和第二签名装置可以装置于任何设备中。例如,第一签名装置可以装置于主机中或网络设备中。第一签名装置可以为更新子插件分配或生成签名文件,并提供给主机;第二签名装置可以为更新子插件分配或生成签名文件并将所分配的或所生成的签名文件插入更新子插件中。
相应地,主机可以从第一签名装置为更新子插件获取签名文件,并将所获取的签名文件插入更新子插件中。具体的,可以直接从第一签名装置获得统一的签名文件,也可以把更新子插件或者其插件标识信息发送给第一签名装置。相应地,第一签名装置可以根据所接收的更新子插件或其插件标识信息来分配或生成签名文件。随后,第一签名装置可以将所生成的签名文件返回给主机。
最后,将已插入签名文件的更新子插件保存至指定的路径下,即可使该更新子插件与主机建立关联,得到目标前端框架的更新插件。
优选地,如果更新子插件的当前包名与基础配置文件的清单文件中的包名一致,则可以将已插入签名文件的更新子插件保存至主机指定的路径下。在此,可以将插入签名文件的更新子插件当前的包名与该基础配置文件的清单文件(manifest.xml)中的包名进行比较,如果一致,即可以直接将插入签名文件的更新子插件保存至主机指定的路径下。
优选地,如果更新子插件的当前包名与基础配置文件的清单文件中的包名不一致,还可以将更新子插件的当前包名重命名为清单文件中的包名,并按照重命名后的包名,将插入签名文件的更新子插件保存至主机指定的路径下。
具体的,插件标识信息的提取过程包括以下步骤:
(1)根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的初始标识信息;
(2)解析所述初始标识信息,并从解析的初始标识信息中提取各所述基础配置文件对应的插件标识信息。
插件初始标识信息指的是通过标识信息读取工具所直接获得的插件标识信息。插件初始标识信息通常包括基础配置文件指定的插件标识信息以及其他冗余信息。在随后的步骤中,需对插件初始标识信息进行解析,以获得基础配置文件指定的插件标识信息。优选地,插件初始标识信息在命令行对话框中呈现。接着,可以将在命令行对话框中所呈现的插件初始标识信息保存在一可读文件中,以使得该插件初始标识信息可解析。其中,呈现在命令行对话框中的插件初始标识信息无法被解析,而保存在可读文件中的插件初始标识信息可以被解析。
进一步地,初始标识信息的读取方式还可以采用以下方式:
(1)根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的标识可读文件;
(2)解析所述标识可读文件,得到标识命令行对话框,并提取所述标识命令对话框中的标识命令行,得到对应的初始标识信息
进一步地,初始标识信息中通常以“名称/值”对的形式保存基础配置文件指定的插件标识信息。例如可以根据预先设定的“名称”字符串,在初始标识信息中进行查找,以获得该“名称”字符串所对应的“值”字符串。该表示“值”的字符串即为插件标识信息。例如,可以根据“名称”字符串——“package name”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为宿主指定的插件包标识信息——包名;又如,可以根据“名称”字符串——“version”,在初始标识信息中进行查找,该“名称”字符串所对应的“值”字符串即为插件标识信息——版本号。
211、将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
212、基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,采用所述新的工程目录对所述目标前端框架执行更新。
(1)依次验证所述更新脚本中各更新命令是否符合预置命令基准条件,并组装符合所述命令基准条件的更新命令,得到新的更新脚本;
(2)执行所述新的更新脚本中的更新命令,得到多个更新模板文件,并依次对比各所述更新模板文件与所述目标前端框架对应的预置工程目录;
(3)将未存在于所述工程目录的更新模板文件通过对应的更新接口拷贝至所述工程目录中,得到新的工程目录。
本实施例中,更新脚本中包含多个更新命令,根据package.json中的main方法可以确定执行脚本的入口,再通命令编写工具,比如过commander来验证各更新命令是否符合预置的命令基础条件,具体的,命令基础条件可以通过GNU工具、UNIX工具、fs-extra等进行确定。
具体的,比如UNIX命令行选项通常都包含一个破折号,后边跟一个或多个小写字母;GNU工具增加了一个双破折号,后边跟一个完整的单词或复合单词,示例如下:
帮助:即给出使用信息,然后退出,UNIX命令行为“-h”,GNU工具为“--help”;
版本:即现实程序版本号,然后退出,UNIX命令行为“-v”,GNU工具为“--version”;
全部:即显示所有参数的全部信息或操作,UNIX命令行为“-a”,GNU工具为“--all”;
列表:即列出文件或参数,不采取其他动作,UNIX命令行为“-l”,GNU工具为“--list”;
安静:即抑制stdout,UNIX命令行为“-q”,GNU工具为“--quiet”;
递归:即递归操作(包含子目录树),UNIX命令行为“-r”或“-R”,GNU工具为“--recursive”;
本实施例中,更新模板文件即写有各功能项目对应的babel.config配置、eslint规范代码、jest测试单元、husky代码提交钩、nodejs服务、配置文件、代理设置、启动服务、框架配置、package.json配置等,若更新模板文件未存在于预置工程目录中,则可确定对应的更新模板文件为修改内容,并将更新模板文件拷贝到工程目录中,即可在目标前端框架上呈现修改的内容。
本发明实施例中,详细介绍了根据文本信息,对基础配置文件和自定义配置文件进行配置,并通过基础配置文件和自定义配置文件进行配置生成目前前端框架更新的更新脚本,后期直接通过执行更新脚本,即可实现对目标前端框架的更新。
上面对本发明实施例中前端框架更新方法进行了描述,下面对本发明实施例中前端框架更新装置进行描述,请参阅图3,本发明实施例中前端框架更新装置的第一实施例包括:
获取模块301,用于获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
配置模块302,用于根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件,以及根据所述文本信息,配置所述目标前端框架修改的自定义配置文件;
分类模块303,用于根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件;
生成模块304,用于将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
更新模块305,用于基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,并采用所述新的工程目录对所述目标前端框架执行更新。
本发明实施例中,开发人员先在交互界面以文本信息的方式写入目标前端框架的修改内容,然后通过文本信息读取目标前端框架的多个基础配置文件,同时对基础配置文件进行分类,得到多个更新插件,以用于更新目标前端框架的基础配置;同时配置开发人员的自定义配置文件,并将自定义配置文件添加至更新插件中,以生成目标前端框架的更新脚本,通过该更新脚本,一方面可以对目标前端框架的基础配置进行更新,另一方面也可以对目标前端框架的自定义配置进行更新,以实现了前端框架的自动化更新,降低了前端框架自动化更新的复杂程度,同时提升前端框架更新的个性化程度。
请参阅图4,本发明实施例中前端框架更新装置的第二实施例包括:
获取模块301,用于获取客户端发送的文本信息,其中,所述文本信息包含待更新的目标前端框架的修改内容;
配置模块302,用于根据所述文本信息,搜集所述目标前端框架对应的多个基础配置文件,以及根据所述文本信息,配置所述目标前端框架修改的自定义配置文件;
分类模块303,用于根据各所述基础配置文件的部署类型,对各所述基础配置文件进行分类处理,得到所述目标前端框架的更新插件;
生成模块304,用于将所述自定义配置文件添加至所述更新插件中,以供生成对应的更新脚本,其中,所述更新脚本中包含多条更新命令;
更新模块305,用于基于所述更新脚本,更新所述目标前端框架对应的当前工程目录,得到新的工程目录,并采用所述新的工程目录对所述目标前端框架执行更新。
具体的,所述配置模块302包括搜集单元3021和配置单元3022,其中,所述搜集单元3021用于:
解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的基础配置参数;
根据所述基础配置参数对应的赋值信息,生成文件调用请求,并将所述文件调用请求发送至所述目标前端框架对应的预置存储空间;
当接收到所述存储空间对所述文件调用信息的响应信息时,解析所述响应信息,得到所述目标前端框架对应的多个基础配置文件。
具体的,所述配置单元3022用于:
解析所述文本信息,得到多个配置参数以及各所述配置参数对应的赋值信息,并从各所述配置参数中选取所述目标前端框架对应的自定义配置参数;
根据所述自定义配置参数,选取对应的预置配置模板,并将所述自定义配置参数对应的赋值信息写入选取的配置模板中;
对各所述配置模板进行封装,得到所述目标前端框架修改的自定义配置文件。
具体的,所述分类模块303包括:
提取单元3031,用于根据各所述基础配置文件的部署类型,从预置插件包中提取各所述基础配置文件对应的插件标识信息;
配置单元3032,用于根据所述插件标识信息,配置各所述基础配置文件对应的签名文件,并将各所述签名文件插入所述基础配置文件中,得到对应类型的更新子插件;
封装单元3033,用于对各所述不同类型的更新子插件进行封装,得到所述目标前端框架的更新插件。
具体的,所述提取单元3031还用于:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的初始标识信息;
解析所述初始标识信息,并从解析的初始标识信息中提取各所述基础配置文件对应的插件标识信息。
具体的,所述提取单元3031还用于:
根据各所述基础配置文件的部署类型,调用预置标识读取工具读取预置插件包中的标识可读文件;
解析所述标识可读文件,得到标识命令行对话框,并提取所述标识命令对话框中的标识命令行,得到对应的初始标识信息。
具体的,所述更新模块305包括第一更新单元3051和第二单元单元3052,其中,所述第一更新单元3051用于:
依次验证所述更新脚本中各更新命令是否符合预置命令基准条件,并组装符合所述命令基准条件的更新命令,得到新的更新脚本;
执行所述新的更新脚本中的更新命令,得到多个更新模板文件,并依次对比各所述更新模板文件与所述目标前端框架对应的预置工程目录;
将未存在于所述工程目录的更新模板文件通过对应的更新接口拷贝至所述工程目录中,得到新的工程目录。
本发明实施例中,详细介绍了根据文本信息,对基础配置文件和自定义配置文件进行配置,并通过基础配置文件和自定义配置文件进行配置生成目前前端框架更新的更新脚本,后期直接通过执行更新脚本,即可实现对目标前端框架的更新。
上面图3和图4从模块化功能实体的角度对本发明实施例中的前端框架更新装置进行详细描述,下面从硬件处理的角度对本发明实施例中前端框架更新设备进行详细描述。
图5是本发明实施例提供的一种前端框架更新设备的结构示意图,该前端框架更新设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对前端框架更新设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在前端框架更新设备500上执行存储介质530中的一系列指令操作。
前端框架更新设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的前端框架更新设备结构并不构成对前端框架更新设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种前端框架更新设备,所述前端框架更新设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述前端框架更新方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述前端框架更新方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 前端框架更新方法、装置、设备及存储介质
- 前端框架自动转换方法、装置、计算机设备及存储介质