一种低代码出码方法技术

技术编号:37852932 阅读:14 留言:0更新日期:2023-06-14 22:44
本发明专利技术提供了低代码应用开发技术领域的一种低代码出码方法,包括如下步骤:步骤S10、解析DSL资源包获取工程配置信息、工程配置项、工程依赖库、工程页面列表、页面路由以及全局样式,进而生成出码描述文件;步骤S20、对所述出码描述文件进行去重,进而对所述出码描述文件进行动态优化;步骤S30、创建一工程模板,利用所述工程模板将出码描述文件转换为工程代码,将所述工程代码存储到创建的临时目录;步骤S40、动态优化所述临时目录存储的工程代码;步骤S50、对所述工程代码进行编译生成可执行包。本发明专利技术的优点在于:极大的提升了低代码应用开发的扩展性、灵活性、兼容性,极大的提升了低代码应用性能。低代码应用性能。低代码应用性能。

【技术实现步骤摘要】
一种低代码出码方法


[0001]本专利技术涉及低代码应用开发
,特别指一种低代码出码方法。

技术介绍

[0002]随着大数据、物联网、5G、云计算、人工智能等新IT技术的不断发展与应用,在业务架构优化、价值升级等方面为企业数字化转型提供有力保障,强化企业核心竞争力,创新企业业务模式,快速扩展企业业务并赢得市场机遇。在数字经济迅猛发展及近年来突发疫情背景下,企业数字化需求变得越来越多而杂,定制化程度、快速响应能力要求也变得越来越高。如何最大化利用技术创新,打破业务与研发之间的壁垒,提高业务应用研发效率,从而推动业务模式创新,是企业数字化转型的战略核心。
[0003]低代码(Low

Code)开发提供灵活、智能、强大的可视化、图形化设计能力,拖拉拽式搭建开发新体验,并且基于低代码的平台化能够有效的沉淀企业数字化资产,助力企业降本增效,实现企业的业务创新及智能化升级,可以说低代码开发是企业数字化转型的“加速器”。
[0004]传统低代码应用开发至少包含四个步骤:数据模型设计、页面设计、生成DSL资源包、应用发布部署。开发低代码应用首先进行实体、数据、枚举等数据模型的设计,再通过拖、拉、拽组件进行页面设计,然后将设计完成的数据模型和页面打包生成一个DSL资源包,最后通过部署工具对DSL资源包发布部署以交付用户使用。
[0005]传统低代码应用会生成一个DSL资源包,用于描述低代码应用页面、以及应用使用到的资源,这种DSL资源包是应用运行时才能够识别的“解释型”包,并且需要一个应用运行时才能运行及渲染的页面,导致存在如下问题:1、依赖运行时应用:低代码应用必须运行在一个特定的运行应用上,不易扩展,灵活性差;2、性能差:运行时需要解析DSL,之后还要实时渲染,页面呈现耗时长,对于特别复杂的页面性能比较差;3、不兼容老项目:应用发布的是一个完整的包,在老项目+新需求这种模式下,低代码开发不好接入。
[0006]因此,如何提供一种低代码出码方法,实现提升低代码应用开发的扩展性、灵活性、兼容性,提升低代码应用性能,成为一个亟待解决的技术问题。

技术实现思路

[0007]本专利技术要解决的技术问题,在于提供一种低代码出码方法,实现提升低代码应用开发的扩展性、灵活性、兼容性,提升低代码应用性能。
[0008]本专利技术是这样实现的:一种低代码出码方法,包括如下步骤:
[0009]步骤S10、解析DSL资源包获取工程配置信息、工程配置项、工程依赖库、工程页面列表、页面路由以及全局样式,进而生成出码描述文件;
[0010]步骤S20、对所述出码描述文件进行去重,进而对所述出码描述文件进行动态优化;
[0011]步骤S30、创建一工程模板,利用所述工程模板将出码描述文件转换为工程代码,
将所述工程代码存储到创建的临时目录;
[0012]步骤S40、动态优化所述临时目录存储的工程代码;
[0013]步骤S50、对所述工程代码进行编译生成可执行包。
[0014]进一步地,所述步骤S10具体为:
[0015]解析DSL资源包获取至少包括工程名称以及工程版本的工程配置信息,至少包括主题色和工程开发框架的工程配置项,至少包括依赖组件、组件版本的工程依赖库,至少包括页面组件依赖项、组件树、组件属性、组件事件、页面引用变量、页面引用函数、页面生命周期函数、页面引用的数据源、页面样式、占位组件描述以及页面描述信息的工程页面列表,至少包括页面与路由的路径映射以及页面与路由的嵌套关系的页面路由,至少包括样式类型以及样式内容的全局样式;
[0016]基于所述工程配置信息、工程配置项、工程依赖库、工程页面列表、页面路由以及全局样式生成出码描述文件。
[0017]进一步地,所述步骤S20具体为:
[0018]遍历所述出码描述文件的页面列表,获取所有的页面引用的数据源,基于所述数据源的ID对数据源进行去重,进而对所述出码描述文件进行动态优化。
[0019]进一步地,所述步骤S30具体包括:
[0020]步骤S31、创建一工程模板以及一临时目录,将所述工程模板解压到临时目录;
[0021]步骤S32、从所述出码描述文件提取页面组件依赖项,将所述页面组件依赖项按照tdesignpackage.json规范动态填充以生成package.json,并将所述package.json添加到临时目录;
[0022]从所述出码描述文件提取页面引用的数据源,基于所述数据源生成包括数据源方法名以及入参并暴露数据源方法的API文件添加到临时目录;
[0023]从所述出码描述文件提取页面描述信息,基于所述页面描述信息将组件树、组件属性以及组件事件按html语法进行拼接以生成template节点;基于所述页面描述信息导入页面组件依赖项、页面引用变量、页面引用函数以及页面生命周期函数以生成script节点;基于所述页面描述信息将样式类型以及样式内容按htmlcss形式拼接以生成style节点;基于所述template节点、script节点以及style节点得到页面代码,将所述页面代码添加到临时目录;
[0024]从所述出码描述文件提取页面与路由的路径映射、页面与路由的嵌套关系,基于所述路径映射以及嵌套关系生成json格式的路由文件进行暴露,并将所述路由文件添加到临时目录的router文件夹下;
[0025]从所述出码描述文件提取主题色,基于所述主题色更新style.ts文件,将所述style.ts文件添加到临时目录的config文件夹下;
[0026]从所述出码描述文件提取工程配置信息,将所述工程配置信息写入lc.worspace.json文件,并将所述lc.worspace.json文件添加到临时目录。
[0027]进一步地,所述步骤S40具体为:
[0028]遍历所述临时目录,利用lint插件对所述临时目录下的工程代码进行修正美化后,基于行号位置信息将所述工程代码中的未使用变量进行删除,以对所述工程代码进行动态优化,并将优化后的所述工程代码重新输出至临时目录。
[0029]进一步地,所述步骤S50具体为:
[0030]在所述临时目录下执行安装依赖命令,再执行打包命令以生成dist目录,将所述dist目录压缩成zip格式的可执行包。
[0031]本专利技术的优点在于:
[0032]通过解析低代码应用的DSL资源包获取工程配置信息、工程依赖库、工程页面列表、页面路由以及全局样式以生成出码描述文件,再对出码描述文件中页面引用的数据源进行去重,接着利用创建的工程模板将出码描述文件转换为工程代码,利用lint插件对工程代码进行修正美化后,删除工程代码中的未使用变量,最后对工程代码进行编译生成可执行包;即将DSL资源包转换成出码描述文件并动态优化,一方面方便标准化生成工程代码,另一方面也将工程代码生成模块和DSL资源包进行解耦,支持工程代码生成模块适配不同的DSL资源包,同时动本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种低代码出码方法,其特征在于:包括如下步骤:步骤S10、解析DSL资源包获取工程配置信息、工程配置项、工程依赖库、工程页面列表、页面路由以及全局样式,进而生成出码描述文件;步骤S20、对所述出码描述文件进行去重,进而对所述出码描述文件进行动态优化;步骤S30、创建一工程模板,利用所述工程模板将出码描述文件转换为工程代码,将所述工程代码存储到创建的临时目录;步骤S40、动态优化所述临时目录存储的工程代码;步骤S50、对所述工程代码进行编译生成可执行包。2.如权利要求1所述的一种低代码出码方法,其特征在于:所述步骤S10具体为:解析DSL资源包获取至少包括工程名称以及工程版本的工程配置信息,至少包括主题色和工程开发框架的工程配置项,至少包括依赖组件、组件版本的工程依赖库,至少包括页面组件依赖项、组件树、组件属性、组件事件、页面引用变量、页面引用函数、页面生命周期函数、页面引用的数据源、页面样式、占位组件描述以及页面描述信息的工程页面列表,至少包括页面与路由的路径映射以及页面与路由的嵌套关系的页面路由,至少包括样式类型以及样式内容的全局样式;基于所述工程配置信息、工程配置项、工程依赖库、工程页面列表、页面路由以及全局样式生成出码描述文件。3.如权利要求1所述的一种低代码出码方法,其特征在于:所述步骤S20具体为:遍历所述出码描述文件的页面列表,获取所有的页面引用的数据源,基于所述数据源的ID对数据源进行去重,进而对所述出码描述文件进行动态优化。4.如权利要求1所述的一种低代码出码方法,其特征在于:所述步骤S30具体包括:步骤S31、创建一工程模板以及一临时目录,将所述工程模板解压到临时目录;步骤S32、从所述出码描述文件提取页面组件依赖项,将所述页面组件依赖项按照tdesign package.json规范动态填充以生成package.json,并将所述...

【专利技术属性】
技术研发人员:李福陆向东周小华秦宁
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:

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

1