一种web前端代码转换方法

文档序号:152864 发布日期:2021-10-26 浏览:28次 >En<

阅读说明:本技术 一种web前端代码转换方法 (Web front-end code conversion method ) 是由 李海超 王志强 王红艳 郭旭东 周益周 于 2021-07-07 设计创作,主要内容包括:本发明涉及一种web前端代码转换方法,属于计算机网络技术领域。本发明可以快速的根据原有软件前端框架重新构建新的软件前端框架,将需要转换的前端文件提交后,根据旧有框架在可转换的新框架中选择需要转换的框架,转换成功后即可获取新的前端文件。本发明涉及多种框架之间的转换,使已有系统、已有功能可复用机率大大提升;异常记录可总结前端代码不规范各类情况,为前端技术规范提供参考;代码转换可获取新的规范前端代码,可检测原有代码是否规范,并为原有代码优化提供参考。(The invention relates to a web front-end code conversion method, and belongs to the technical field of computer networks. The invention can quickly reconstruct a new software front-end framework according to the original software front-end framework, after the front-end file to be converted is submitted, the framework to be converted is selected from the convertible new framework according to the original framework, and the new front-end file can be obtained after the conversion is successful. The invention relates to the conversion among a plurality of frames, which greatly improves the reusability probability of the existing system and the existing functions; the exception records can summarize various conditions of the non-standard front-end codes and provide reference for the technical specification of the front end; the code conversion can acquire a new standard front-end code, can detect whether the original code is standard or not, and provides reference for the optimization of the original code.)

一种web前端代码转换方法

技术领域

本发明属于计算机网络技术领域,具体涉及一种web前端代码转换方法。

背景技术

近些年来,随着技术更新迭代频繁,原有web前端框架已经满足不了新的开发需求,web前端框架转换升级时有发生。传统的前端架构转换升级需要研发人员参照对应框架文档去重新誊写新代码或更新新特性,研发人员需要花费大量时间精力,故需要一种更简洁省力的web前端转换方法。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是如何提供一种web前端代码转换方法,以解决web前端框架转换升级时研发人员需要花费大量时间精力的问题。

(二)技术方案

为了解决上述技术问题,本发明提出一种web前端代码转换方法,该方法包括如下步骤:

S1、选择框架

输入前端项目文件后,先选择现有框架的名称,根据现有框架可转换的框架,选择想要转换的新框架;

S2、代码检测及规范

在框架转换前需要对代码进行检测,根据输入文件的框架配置信息检测输入文件的框架是否为选择的现有框架,然后根据代码规范标准检测输入文件的框架是否符合对应标准,如果不太规范,进行格式化代码,规范代码后才可进行下一步;

S3、代码转换

代码检测和规范后进行代码转换,转换成选择的新框架格式代码;

S4、输出文件

代码转换没有出现异常时将进入该阶段,输出的文件即新的前端框架文件;

S5、输出失败原因及解决方案

代码转换出现异常并结束代码转换操作后将进入该阶段,转换过程出现的异常及对应的解决方案会被提示出来,研发人员可根据解决方案进行操作后再重新输入文件进行框架转换。

进一步地,所述步骤S1之前还包括基础步骤S0,基础步骤S0包括以下步骤:

S01、调研前端项目常用软件框架;

S02、根据每两个框架的语法文档信息确定该两框架是否可进行相互转换,并进行记录;

S03、根据每个框架的语法文档信息对该框架设置语法代码规范标准;

S04、根据每个框架的配置所需信息设置每个框架所需的文件结构;

S05、根据每个框架的语法文档信息设置该框架所需的抽象语法树AST格式;

S06、对两个可进行相互转换的框架进行对应的抽象语法树格式转换函数开发;

S07、对每个框架进行对应的抽象语法树反编译函数文件开发;

S08、对两个可相互转换的框架进行文件结构对应关系调研记录。

进一步地,所述步骤S06具体包括如下步骤:

S061、使用Javascript的遍历方法对抽象语法树进行遍历,提取出定义属性信息;

S062、处理不同格式的属性信息,根据新抽象语法树的格式转换其中的生命周期、组件状态信息;

S063、根据新抽象语法树的格式拼接处理后的信息,最后获取新的抽象语法树。

进一步地,所述定义属性信息包括:属性值、属性类型、默认值。

进一步地,所述步骤S1中根据现有框架可转换的框架,选择想要转换的新框架具体包括:根据基础步骤S02的结果展示出现有框架可转换的框架,从中选择想要转换的新框架。

进一步地,所述步骤S2中根据代码规范标准检测输入文件的框架是否符合对应标准具体包括:根据基础步骤S03设置的代码规范标准检测输入文件的框架是否符合对应标准。

进一步地,所述步骤S2中格式化代码具体包括:使用eslint代码格式化工具进行格式化代码。

进一步地,所述步骤S3具体包括如下步骤:

S31、对于通过S2“代码检测及规范”过程的项目文件,首先通过Javascript的FileSystemObject对象方法提取项目文件的目录结构,并根据上述基础步骤S04设置的框架所需文件结构创造选择的新框架的相应的结构文件和根据上述基础步骤S08记录的新旧框架之间的文件结构对应关系保存新旧框架文件结构的对应关系;

S32、然后对项目文件使用解析器来解析,解析最后生成抽象语法树;

S33、对抽象语法树进行代码重铸,根据基础步骤S05设置的新框架所需的抽象语法树格式和基础步骤S06开发的抽象语法树格式转换函数将抽象语法树转换成新框架所需格式;

S34、使用基础步骤S07的抽象语法树反编译函数将重铸的抽象语法树反编译为新框架的代码;

S35、通过代码格式化工具美化新框架的代码后输出代码文件;

S36、根据步骤S31中的新旧框架文件结构的对应关系将步骤S35输出的文件放入新框架对应文件夹下;

S37、以上任意一步操作出现异常,将会把异常记录下来,并判断是否能进行下一步,可以进行的话继续下一步,不可以进行则停止该模块操作并进入S5阶段。

进一步地,所述解析器为babylon解析器。

进一步地,所述步骤S35使用的代码格式化工具为prettier-eslint。

(三)有益效果

本发明提出一种web前端代码转换方法,本发明相较于现有前端代码转换技术,更加具有通用性,同时还具有以下优点:

(1)发明涉及多种框架之间的转换,使已有系统、已有功能可复用机率大大提升;

(2)异常记录可总结前端代码不规范各类情况,为前端技术规范提供参考;

(3)代码转换可获取新的规范前端代码,可检测原有代码是否规范,并为原有代码优化提供参考。

附图说明

图1为本发明基础步骤6的函数流程图;

图2为本发明的系统架构;

图3为本发明代码转换操作的流程图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

为了解决上述问题,本发明提出一种web前端代码的转换方法,可以快速的根据原有软件前端框架重新构建新的软件前端框架。例如可以将Vue(一个创建单页应用的Web应用框架)和React(一个为数据提供渲染为HTML视图的开源JavaScript库)相互转换,将Vue2(Vue框架的一个版本)升级为Vue3(Vue2框架的升级版本,与Vue2差异较大)。将需要转换的前端文件提交后,根据旧有框架在可转换的新框架中选择需要转换的框架,转换成功后即可获取新的前端文件。

本发明创造过程中需经过基础步骤S0,基础步骤S0包括以下步骤:

S01、调研前端项目常用软件框架;

S02、根据每两个框架的语法文档等信息确定该两框架是否可进行相互转换,并进行记录;

S03、根据每个框架的语法文档等信息对该框架设置语法代码规范标准;

S04、根据每个框架的配置所需等信息设置每个框架所需的文件结构;

S05、根据每个框架的语法文档等信息设置该框架所需的抽象语法树(AbstractSyntax Tree,简称AST,是源代码语法结构的一种抽象表示)格式;

S06、对两个可进行相互转换的框架进行对应的抽象语法树格式转换函数开发;

S07、对每个框架进行对应的抽象语法树反编译函数文件开发;

S08、对两个可相互转换的框架进行文件结构对应关系调研记录。

其中基础步骤S06的函数流程可分解为以下几步:

S061、使用Javascript的遍历方法等对抽象语法树进行遍历,提取出定义属性的属性值、属性类型、默认值等信息;

S062、处理不同格式的属性值,根据新抽象语法树的格式转换其中的生命周期、组件状态等信息;

S063、根据新抽象语法树的格式拼接处理后的信息,最后获取新的抽象语法树。

本发明的系统架构如下所示,该架构包括如下步骤:

S1、选择框架

输入前端项目文件后,先选择现有框架的名称,根据基础步骤S02的调研结果可展示出现有框架可转换的框架,从中选择想要转换的新框架。

S2、代码检测及规范

在框架转换前需要对代码进行检测,根据输入文件的框架配置信息检测输入文件的框架是否为选择的现有框架,然后根据基础步骤S03设置的代码规范标准检测输入文件的框架是否符合对应标准,如果不太规范,可用eslint等代码格式化工具进行格式化代码,规范代码后才可进行下一步。

S3、代码转换

代码检测和规范后进行代码转换,转换成选择的新框架格式代码。

此模块为该发明的重点,该模块架构及操作步骤如下:

在进行模块S2代码检测和规范后,该方法将进行以下几步操作:

S31、对于通过第S2模块“代码检测及规范”过程的项目文件,首先通过Javascript的FileSystemObject对象(具有访问计算机文件系统的功能)等方法提取项目文件的目录结构,并根据上述基础步骤S04设置的框架所需文件结构创造选择的新框架的相应的结构文件和根据上述基础步骤S08记录的新旧框架之间的文件结构对应关系保存新旧框架文件结构的对应关系;

S32、然后对项目文件使用解析器例如babylon解析器(一种babel中使用的JavaScript解析器)来解析,解析最后生成抽象语法树;

S33、对抽象语法树进行代码重铸,根据基础步骤S05设置的新框架所需的抽象语法树格式和基础步骤S06开发的抽象语法树格式转换函数将抽象语法树转换成新框架所需格式;

S34、使用基础步骤S07的抽象语法树反编译函数将重铸的抽象语法树反编译为新框架的代码;

S35、通过代码格式化工具如prettier-eslint美化新框架的代码后输出代码文件;

S36、根据步骤S31中的新旧框架文件结构的对应关系将步骤S35输出的文件放入新框架对应文件夹下;

S37、以上任意一步操作出现异常,将会把异常记录下来,并判断是否能进行下一步,可以进行的话继续下一步,不可以进行则停止该模块操作并进入模块S5阶段。

S4、输出文件

代码转换没有出现异常时将进入该阶段,输出的文件即新的前端框架文件。

S5、输出失败原因及解决方案

代码转换出现异常并结束代码转换操作后将进入该阶段,转换过程出现的异常及对应的解决方案会被提示出来,研发人员可根据解决方案进行操作后再重新输入文件进行框架转换。

以前端转换React框架为Vue框架为例,本发明所述的典型使用流程包括以下步骤:

(1)输入前端项目文件后首先进行框架选择,原有框架选定React框架,根据基础步骤S02的调研结果给出的对应可转换框架中选择Vue框架,进行下一步;

(2)选择框架后需进行代码检测,根据输入文件的框架配置信息检测输入文件的框架是否为React框架,根据基础步骤S03设置的代码规范标准检测输入文件的框架是否符合对应标准,不符合的情况下通过eslint等格式化工具进行规范后进行下一步,符合则直接进入下一步;

(3)进行代码检测和规范后进行代码转换,转换成选择的新框架格式代码,具体操作见下方描述;

(4)转换成功,则进行成功提示后输出转换后的文件;

(5)转换失败,则输出失败原因以及相关的解决方案,解决后再进行重新输入转换,重新进入步骤(1)。

其中步骤(3)具体将经历以下操作:

①通过Javascript的FileSystemObject对象等方法提取原React框架项目文件的目录结构,并根据基础步骤S04设置的框架所需文件结构生成框架为Vue的新的项目文件并根据上述基础步骤S08记录的新旧框架之间的文件结构对应关系保存React和Vue框架的文件结构的对应关系;

②对于原React框架的项目文件使用babylon等解析器来解析,解析生成抽象语法树;

③对抽象语法树进行代码重铸,根据基础步骤S05设置的Vue框架所需的抽象语法树格式和基础步骤S06开发的抽象语法树格式转换函数将抽象语法树转换成Vue框架所需格式;

④使用基础步骤S07的抽象语法树反编译函数将重铸的抽象语法树反编译为Vue框架的代码;

⑤通过prettier-eslint等代码格式化工具来美化代码;

⑥根据上方步骤(3)的操作①保存的React和Vue框架的文件结构的对应关系,将输出的文件放入Vue框架项目对应文件夹下;

⑦以上任意一步操作出现异常,将会把异常记录下来,并判断是否能进行下一步,可以进行的话继续下一步,不可以进行则停止步骤(3),转入转换失败阶段,进入步骤(5)。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种代码文件发布方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!