LowcodeEngine实战-VueRenderer+vite搭建应用级别预览

背景

我们基于LowcodeEngine做了一个低代码平台,支持选择React和Vue框架。今天介绍一下选择Vue框架下的应用预览和调试功能。 Vue画布采用的是社区的LowcodeEngineVue,我们的低代码应用设计器是应用级别的,但是LowcodeEngine和LowcodeEngineVue给出的demo都是页面级别的预览。这种限制在涉及到页面切换等页面之间有交互的时候变得非常突出。所以我们决定将单页面预览调试进行升级提升至应用级别的预览调试。

方案

使用vite搭建一个新的vue项目,在这个项目中采用动态路由的方式,将各个低代码页面无缝的集成到当前项目的路由系统重,从而实现基于路由的应用界别预览功能。低代码应用涉及的其他资源也通过动态添加的方式加载到这个项目中来。

实现

使用vite创建一个Vue3的模版项目。

这个就直接用vite脚手架创建就行了,这里直接跳过。

添加vue-router及lowcode-vue-renderer相关和其他项目依赖

添加vue-router、lowcode-vue-renderer、lowcode-utils依赖。根据自己项目添加其他所需要的依赖。

VueRenderder组件封装成route使用。

为了让VueRenderder组件更好的融入路由系统,将其封装成route形式,并通过props将 将schema及components等相关资源传入VueRenderer组件中

通过动态添加的方式注册到应用路由上。

最后通过router.addRoute方法将这些route动态添加到应用路由系统上,实现应用界别的预览。

问题

Vue is not defined

低代码物料和VueRenderer打包的都配置了使用全局的Vue对象,所以在我们的项目中要配置一个全局的Vue对象。打包排除Vue依赖,通过cdn引入全局Vue对象。

效果

我们在低代码应用设计器中画了三个页面(main、page1、page2)。main页面中通过两个按钮切换路由来展示main下的page1和page2页面。main页面下有个route组件,用来展示page1和page2。将这个低代码应用设计器中产出物导入到预览应用项目下就实现了应用界别的调试和预览,这样在低代码设计器中就只是设计模式(不触发低代码物料的点击等事件,提升用户体验)

最后

关于调试还没有找到好的表现形式,当前还是按照逻辑编排的执行顺序打印的日志。 未来可能会将日志和流程图统一起来,逻辑编排是基于流程图的。进入到调试后执行基于流程图编排的逻辑,在流程图中可视化的展示逻辑执行到了哪里,点击具体逻辑查看执行日志。

本文正在参加阿里低代码引擎征文活动

相关推荐
y先森3 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy3 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189113 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿4 小时前
CSS查缺补漏(补充上一条)
前端·css
n***85944 小时前
嵌入式 UI 开发的开源项目推荐
windows·开源·开源软件
吃杠碰小鸡5 小时前
commitlint校验git提交信息
前端
虾球xz6 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇6 小时前
HTML常用表格与标签
前端·html
疯狂的沙粒6 小时前
如何在Vue项目中应用TypeScript?应该注意那些点?
前端·vue.js·typescript
小镇程序员6 小时前
vue2 src_Todolist全局总线事件版本
前端·javascript·vue.js