一种JIT即时编译web表单元数据的实现方法与流程

文档序号:16854926发布日期:2019-02-12 23:09阅读:205来源:国知局
一种JIT即时编译web表单元数据的实现方法与流程

本发明涉及jit即时编译技术,尤其涉及一种jit即时编译web表单元数据的实现方法。



背景技术:

jit(just-in-timecompiler)即时编译在java和c#中都有使用,即使编译器可以将java的字节码或是c#的中间语言转换成可以直接发送给处理器的指令程序。

前端中angular也提供了jit技术,将angular源码即时编译成es5标准的js代码,直接在浏览器中运行。

本发明将jit的概念应用到了web表单的开发当中,表单设计器通过用户拖拽的交互方式完成程序功能设计(即web表单)。设计完成后将web表单的界面布局、样式、交互方式以及交互逻辑保存成json格式描述文件(即web表单元数据)。如何能够让web表单元数据在运行环境中真正运转起来,就需要将json格式的元数据转换成真正可执行的源代码。这时就需要jit来完成该项工作。



技术实现要素:

为了解决以上技术问题,本发明提出了一种jit即时编译web表单元数据的实现方法

本发明主要功能是接收web表单的json元数据,使用pug模版引擎生成运行时可执行的源代码。支持使用各种ui控件库,生成可交互的web表单界面。

主要包括几个步骤:

1)通过命令行接收并解析即时编译的相关配置参数。

配置参数包含:

·web表单json元数据的文件目录

·代码生成目录

·界面所使用的ui控件库

2)使用参数创建jit服务上下文,将服务上下文作为参数传递给jit即时编译服务并执行服务。

3)使用pug模版引擎解析web表单json元数据生成运行时angular源代码。

4)将源代码输出到指定的文件目录。

在nodejs环境下的命令行中,接收即时编译的配置参数,并对参数进行解析。

使用解析后的命令行参数创建服务上下文,通过ioc容器获取jit引擎工厂实例,创建jit引擎,调用引擎的createtask方法创建任务,将服务上下文传递给任务并执行任务。

解析服务上下文,创建生成器队列,执行生成器队列,使用pug模版引擎生成运行时的源代码。

根据服务上下文中的源码发布路径,将生成的源代码文件并输出到指定文件目录。

附图说明

图1是本发明的原理示意图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明的一种jit即时编译web表单元数据的实现方法,主要包含以下内容:

1、通过nodejs命令行调用jit服务时,接收编译参数并进行参数解析;

2、使用解析后的命令行参数创建服务上下文,并启动jit服务;

3、执行服务过程中组织生成器队列,按顺序执行生成器队列,使用pug模版引擎生成源代码;

4、将编译生成后的源代码输出到指定的文件目录。

第一步,nodejs命令行输入指令调用jit服务,并传入配置参数。

jit--metadatapath=’e:/metadata’--publishpath=’e:/publish’--uilibrary=’kendoui’

第二步,解析指令以及配置参数,调用jit服务。

第三步,通过工厂创建引擎实例,使用引擎实例创建任务,构建服务上下文,将服务上下文作为参数传递给任务并运行任务。

第四步,组织生成器队列,并执行队列,使用pug模版引擎生成源代码并输出到指定文件目录。

下面是组织生成器队列,并执行队列的源码。

下面是生成器源码:使用pug模版引擎生成源代码并输出到指定文件目录。



技术特征:

技术总结
本发明提供一种JIT即时编译web表单元数据的实现方法,属于JIT即时编译技术技术领域,本发明主要功能是接收Web表单的Json元数据,使用pug模版引擎生成运行时可执行的源代码。支持使用各种UI控件库,生成可交互的Web表单界面。

技术研发人员:李文峰
受保护的技术使用者:山东浪潮通软信息科技有限公司
技术研发日:2018.09.14
技术公布日:2019.02.12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1