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。将这个低代码应用设计器中产出物导入到预览应用项目下就实现了应用界别的调试和预览,这样在低代码设计器中就只是设计模式(不触发低代码物料的点击等事件,提升用户体验)

最后

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

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

相关推荐
一斤代码2 小时前
vue3 下载图片(标签内容可转图)
前端·javascript·vue
中微子2 小时前
React Router 源码深度剖析解决面试中的深层次问题
前端·react.js
光影少年2 小时前
从前端转go开发的学习路线
前端·学习·golang
中微子2 小时前
React Router 面试指南:从基础到实战
前端·react.js·前端框架
3Katrina2 小时前
深入理解 useLayoutEffect:解决 UI "闪烁"问题的利器
前端·javascript·面试
前端_学习之路3 小时前
React--Fiber 架构
前端·react.js·架构
伍哥的传说3 小时前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js
qq_424409194 小时前
uniapp的app项目,某个页面长时间无操作,返回首页
前端·vue.js·uni-app
我在北京coding4 小时前
element el-table渲染二维对象数组
前端·javascript·vue.js
布兰妮甜4 小时前
Vue+ElementUI聊天室开发指南
前端·javascript·vue.js·elementui