CN110531968A - 一种自动抽离web前端功能代码生成独立模板的方法 - Google Patents

一种自动抽离web前端功能代码生成独立模板的方法 Download PDF

Info

Publication number
CN110531968A
CN110531968A CN201910770678.0A CN201910770678A CN110531968A CN 110531968 A CN110531968 A CN 110531968A CN 201910770678 A CN201910770678 A CN 201910770678A CN 110531968 A CN110531968 A CN 110531968A
Authority
CN
China
Prior art keywords
template
functional
code
developer
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910770678.0A
Other languages
English (en)
Other versions
CN110531968B (zh
Inventor
余健
徐德福
赖树良
李自强
翁庄明
彭本
丁蓉
卢迅恒
范浩洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huazi Software Technology Co Ltd
Original Assignee
Guangzhou Huazi Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huazi Software Technology Co Ltd filed Critical Guangzhou Huazi Software Technology Co Ltd
Priority to CN201910770678.0A priority Critical patent/CN110531968B/zh
Publication of CN110531968A publication Critical patent/CN110531968A/zh
Application granted granted Critical
Publication of CN110531968B publication Critical patent/CN110531968B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种自动抽离web前端功能代码生成独立模板的方法,包括有以下步骤:S1.开发者基于web前端开发技术,开发完成具有多项独立的功能节点的若干个源项目代码;S2.在每个源项目代码中,开发者对各项功能节点所归属的功能类别分别进行划分,并且对各项功能节点所对应的代码部分作功能类别的注释标记;S3.开发者自主定义模板生成规则;S4.根据模板生成规则,系统自动识别每个源项目代码的各个注释标记,随后将所需的功能节点对应的代码部分抽离出来;S5.将抽离出来的各项功能节点的代码部分根据模板生成规则生成各个独立的功能模板,并储存至预定的输出目录下,以供开发者在其它项目中可直接选调任一功能模板。

Description

一种自动抽离web前端功能代码生成独立模板的方法
技术领域
本发明涉及计算机技术的技术领域,尤其是指一种自动抽离web前端功能代码生成独立模板的方法。
背景技术
随着web前端工程化的兴起,前后端分离开发逐渐成为主流。Web前端传统代码级开发成本越来越高,越来越多的项目使用代码生成再修改的方式来实现快速开发,目前代码生成使用的模板都是从源项目中手工抽离形成,由于各个模板代码的依赖错综复杂,得花费大量人力成本抽离这些模板,同时后期的源项目代码更新,同样需要人力去同步更新。这个过程不但投入成本较大,效率低下,而且容易出错。随着人工维护模板的成本越来越高,模板不能与源代码及时同步或版本不对应,导致后期代码生成这一快速开发功能被弃用。
发明内容
本发明的目的在于克服现有技术的不足,提供一种自动抽离web前端功能代码生成独立模板的方法。
为了实现上述的目的,本发明所提供的一种自动抽离web前端功能代码生成独立模板的方法,包括有以下步骤:
S1.开发者基于web前端开发技术,开发完成具有多项独立的功能节点的若干个源项目代码;
S2.在每个源项目代码中,开发者对各项功能节点所归属的功能类别分别进行划分,并且对各项功能节点所对应的代码部分作功能类别的注释标记;
S3.开发者自主定义模板生成规则;
S4.根据模板生成规则,系统自动识别每个源项目代码的各个注释标记,随后将所需的功能节点对应的代码部分抽离出来;
S5.将抽离出来的各项功能节点的代码部分根据模板生成规则生成各个独立的功能模板,并储存至预定的输出目录下,以供开发者在其它项目中可直接选调任一功能模板。
进一步,开发者可自主选取所需的一个或多个功能节点、可自主选取功能模板的输出目录、可自主选择开启或关闭源代码监听功能以及可自主设定任意一个功能模板的调用次数,以完成对模板生成规则的自主定义。
进一步,在步骤S4中,当开发者选择开启源代码监听功能时,若被抽离出来功能节点的代码部分在源项目代码中发生变化,则实时抽离变化后的代码部分覆盖原生成的功能模板。
进一步,当开发者设定了功能模板的调用次数时,则会限制开发者调用该功能模板的次数。
进一步,若所抽离出来的功能节点的代码部分中含有可变数值参数时,则在生成功能模板之前,通过动态参数${param}替代原数值参数,以便于开发者在调用该功能模板时可动态设定所需的数值参数。
本发明采用上述的方案,其有益效果在于:通过对源项目代码的各项功能节点进行划分并加以注释标记,基于自主定义模板生成规则,从而将所需的功能节点从原项目代码中抽离出来并生成功能模板,为其它项目按需选调功能模板进行快速应用生成;本方法具有抽屉代码快速高效,且功能模板与源项目代码之间具备有自动同步功能,从而极大地降低了人工维护的成本,适用于大中型前端项目。
附图说明
图1为实施例的方法流程示意框图。
具体实施方式
为了便于理解本发明,下面参照附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。提供这些实施方式的目的是使对本发明的公开内容理解得更加透彻全面。
参见附图1所示,在本实施例中,一种自动抽离web前端功能代码生成独立模板的方法,包括有以下步骤:
S1.开发者基于web前端开发技术,开发完成具有多项独立的功能节点的若干个源项目代码,其中,每个源项目代码均经单元测试和集成测试通过。
S2.在每个源项目代码中,开发者对各项功能节点所归属的功能类别分别进行划分,并且对各项功能节点所对应的代码部分作功能类别的注释标记。
在每个源项目代码中含有多项功能节点,并且各项功能节点之间的功能用途并不相同,因此,需要开发者对各项功能节点进行注释标记以区分出各个功能节点的功能类别,为了便于理解,特列举部分功能类别进行解释说明,具体包括登录功能、通知提醒框功能、crud等类别。
S3.开发者在配置文件中config.js自主定义模板生成规则,即,
开发者可在自主定义模板生成规则时,选取所需的一个或多个功能节点,为了便于理解,本实施例的模板生成规则中,开发者选取了关于登录功能和通知提醒框功能的功能节点;另外,开发者还可自主选取功能模板的输出目录
开发者可在自主定义模板生成规则时,对所选择的功能节点加上“--watch”参数,则开启源代码监听功能,从而持续监听源项目代码的变化;
开发者可在自主定义模板生成规则时,对所抽离的功能节点加上调用次数的限制,可为只允许安装一次或可多次安装,如,关于登录功能的功能节点在一个项目中只允许有一个,因此可限制调用次数为一次;关于crud的功能节点可在同一项目中多次使用实现不同的业务功能,因此可不加限制或限制调用次数为多次。
因此,通过自主选取所需的一个或多个功能节点、自主选取功能模板的输出目录、自主选择开启或关闭源代码监听功能、以及自主设定任意一个功能模板的调用次数,开发者便完成对模板生成规则的自主定义。
S4.根据模板生成规则,系统自动识别源项目代码的各个注释标记,随后将所需的功能节点对应的代码部分抽离出来。系统通过自动识别web前端代码各种文件格式js\css\json\less\svg\图片等,支持无限层级关联代码自动抽离,因此,被抽离出来的功能节点保持原来的目录结构。
S5.将抽离出来的各项功能节点的代码部分根据模板生成规则生成各个独立的功能模板,并储存至预定的输出目录下,以供开发者在其它项目中可直接选调任一功能模板。
进一步,若所抽离出来的功能节点的代码部分中含有可变数值参数时,则在生成功能模板时,通过动态参数${param}替代原数值参数,以便于开发者在调用该功能模板时可动态设定所需的数值参数。例如,关于通知提醒框功能的功能节点,其源代码部分中含有对“通知提醒框在4.5s后关闭显示”,其中,“4.5s”则为可变数值参数,因此,在生成功能模板时,将“4.5s”替换为动态参数${param},开发者在后续调用该功能模板时,交互式地输入变量值,便实现了开发者对该数值参数的设定。
综上所述,开发者可在输出目录下选调任一所需的功能模板生成到后续项目对应的目录中,实现了代码生成再修改的引用方式,从而提升web前端开发的效率,同时,所调用的功能模板能够与源项目代码保持自动同步,降低人工维护模板的成本。
以上所述之实施例仅为本发明的较佳实施例,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,利用上述揭示的技术内容对本发明技术方案作出更多可能的变动和润饰,或修改均为本发明的等效实施例。故凡未脱离本发明技术方案的内容,依据本发明之思路所做的等同等效变化,均应涵盖于本发明的保护范围内。

Claims (5)

1.一种自动抽离web前端功能代码生成独立模板的方法,其特征在于:包括有以下步骤:
S1.开发者基于web前端开发技术,开发完成具有多项独立的功能节点的若干个源项目代码;
S2.在每个源项目代码中,开发者对各项功能节点所归属的功能类别分别进行划分,并且对各项功能节点所对应的代码部分作功能类别的注释标记;
S3.开发者自主定义模板生成规则;
S4.根据模板生成规则,系统自动识别每个源项目代码的各个注释标记,随后将所需的功能节点对应的代码部分抽离出来;
S5.将抽离出来的各项功能节点的代码部分根据模板生成规则生成各个独立的功能模板,并储存至预定的输出目录下,以供开发者在其它项目中可直接选调任一功能模板。
2.根据权利要求1所述的一种自动抽离web前端功能代码生成独立模板的方法,其特征在于:开发者可自主选取所需的一个或多个功能节点、可自主选取功能模板的输出目录、可自主选择开启或关闭源代码监听功能以及可自主设定任意一个功能模板的调用次数,以完成对模板生成规则的自主定义。
3.根据权利要求2所述的一种自动抽离web前端功能代码生成独立模板的方法,其特征在于:在步骤S4中,当开发者选择开启源代码监听功能时,若被抽离出来功能节点的代码部分在源项目代码中发生变化,则实时抽离变化后的代码部分覆盖原生成的功能模板。
4.根据权利要求1所述的一种自动抽离web前端功能代码生成独立模板的方法,其特征在于:当开发者设定了功能模板的调用次数时,则会限制开发者调用该功能模板的次数。
5.根据权利要求1所述的一种自动抽离web前端功能代码生成独立模板的方法,其特征在于:若所抽离出来的功能节点的代码部分中含有可变数值参数时,则在生成功能模板之前,通过动态参数${param}替代原数值参数,以便于开发者在调用该功能模板时可动态设定所需的数值参数。
CN201910770678.0A 2019-08-20 2019-08-20 一种自动抽离web前端功能代码生成独立模板的方法 Active CN110531968B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910770678.0A CN110531968B (zh) 2019-08-20 2019-08-20 一种自动抽离web前端功能代码生成独立模板的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910770678.0A CN110531968B (zh) 2019-08-20 2019-08-20 一种自动抽离web前端功能代码生成独立模板的方法

Publications (2)

Publication Number Publication Date
CN110531968A true CN110531968A (zh) 2019-12-03
CN110531968B CN110531968B (zh) 2022-03-04

Family

ID=68663945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910770678.0A Active CN110531968B (zh) 2019-08-20 2019-08-20 一种自动抽离web前端功能代码生成独立模板的方法

Country Status (1)

Country Link
CN (1) CN110531968B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113126965A (zh) * 2021-04-30 2021-07-16 欧冶云商股份有限公司 一种适用jsp前后端分离的高效率开发方法、介质及设备
CN114546389A (zh) * 2022-04-25 2022-05-27 浙江大华技术股份有限公司 前端页面生成方法、音视频分析方法及其装置以及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184266A (zh) * 2011-06-27 2011-09-14 武汉大学 一种页面与数据分离的动态wap网站自动生成方法
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104375812A (zh) * 2013-08-13 2015-02-25 腾讯科技(深圳)有限公司 网页内容修改模板的构建方法、网页内容修改方法及系统
CN107247587A (zh) * 2017-05-26 2017-10-13 上海斐讯数据通信技术有限公司 一种网页模板生成方法及装置
CN108182370A (zh) * 2018-02-02 2018-06-19 上海斗象信息科技有限公司 基于动静态分离模板的客户端网页篡改检测方法
CN109189379A (zh) * 2018-09-04 2019-01-11 百度在线网络技术(北京)有限公司 代码生成方法和装置
CN109582909A (zh) * 2018-12-19 2019-04-05 拉扎斯网络科技(上海)有限公司 网页自动生成方法、装置、电子设备和存储介质
CN109960788A (zh) * 2019-01-29 2019-07-02 广东赛诺科技股份有限公司 一种基于world文档文书模板生成执法文书的方法
CN109976731A (zh) * 2017-12-28 2019-07-05 广州市中跃信息科技有限公司 一种PaaS应用代码生成系统
CN110096263A (zh) * 2019-04-28 2019-08-06 贝壳技术有限公司 Web前端代码自动生成方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184266A (zh) * 2011-06-27 2011-09-14 武汉大学 一种页面与数据分离的动态wap网站自动生成方法
CN104375812A (zh) * 2013-08-13 2015-02-25 腾讯科技(深圳)有限公司 网页内容修改模板的构建方法、网页内容修改方法及系统
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN107247587A (zh) * 2017-05-26 2017-10-13 上海斐讯数据通信技术有限公司 一种网页模板生成方法及装置
CN109976731A (zh) * 2017-12-28 2019-07-05 广州市中跃信息科技有限公司 一种PaaS应用代码生成系统
CN108182370A (zh) * 2018-02-02 2018-06-19 上海斗象信息科技有限公司 基于动静态分离模板的客户端网页篡改检测方法
CN109189379A (zh) * 2018-09-04 2019-01-11 百度在线网络技术(北京)有限公司 代码生成方法和装置
CN109582909A (zh) * 2018-12-19 2019-04-05 拉扎斯网络科技(上海)有限公司 网页自动生成方法、装置、电子设备和存储介质
CN109960788A (zh) * 2019-01-29 2019-07-02 广东赛诺科技股份有限公司 一种基于world文档文书模板生成执法文书的方法
CN110096263A (zh) * 2019-04-28 2019-08-06 贝壳技术有限公司 Web前端代码自动生成方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MMKEVIN: "eclipse将一段代码抽取为方法Extract Method", 《JINGYAN.BAIDU.COM.ARTICLE/CB0E5009602352EAA2893A0.HTML》 *
编程之家: "JAVA-可以将注释处理器用于代码生成吗?", 《JB51.CC/SPRING/125419.HTML》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113126965A (zh) * 2021-04-30 2021-07-16 欧冶云商股份有限公司 一种适用jsp前后端分离的高效率开发方法、介质及设备
CN114546389A (zh) * 2022-04-25 2022-05-27 浙江大华技术股份有限公司 前端页面生成方法、音视频分析方法及其装置以及介质

Also Published As

Publication number Publication date
CN110531968B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN106250100B (zh) 系统逻辑控制方法及装置
CN106528129B (zh) 一种Web应用界面生成系统及方法
CN107291450A (zh) 一种编程友好型的敏捷代码自动生成方法
CN109614409A (zh) 业务数据处理方法、装置和服务器
WO2021254457A1 (zh) 构建知识图谱的方法及装置、计算机装置及存储介质
CN106507686A (zh) 设计不同技术领域的复杂信息物理系统的具有其各种软件工件的软件架构的方法和工具
CN109542556A (zh) 一种基于Activiti的流程与表单交互方法及系统
CN106445536B (zh) 自动化业务设计管理系统
CN110531968A (zh) 一种自动抽离web前端功能代码生成独立模板的方法
JP5379261B2 (ja) スケジューリング装置、スケジューリング方法およびコンピュータプログラム
CN110633078B (zh) 一种实现自动生成特征计算代码的方法及装置
CN108536718A (zh) 一种基于输入输出语义化实现的管理信息化的方法和系统
CN107861933A (zh) 生成运维报表的方法和装置
CN109478133A (zh) 由非开发人员中心的应用平台构成的系统
CN106528169A (zh) 一种基于AnGo动态演化模型的Web系统开发可复用方法
CN109947462A (zh) 一种面向软件代码变更集成的决策支持方法及装置
CN110532487A (zh) 标签的生成方法及装置
CN109086126A (zh) 任务调度处理方法、装置、服务器、客户端及电子设备
CN109815448A (zh) 幻灯片生成方法及装置
WO2022166859A1 (zh) 一种医疗数据治理系统
CN114707474A (zh) 报表生成方法、装置、电子设备及计算机可读存储介质
CN112667209A (zh) 基于计算机软件实现全连接快速开发框架的流程组件系统
CN106250110A (zh) 建立模型的方法及装置
CN106096159B (zh) 一种云平台下的分布式系统行为仿真分析系统的实现方法
CN106227667B (zh) 一种基于扩展的ifml的移动应用的测试用例生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant