页面实时预览编译技术
自定义组件和自定义模版方案
多人协作的可视化搭建模式实现
还有很多技术细节这里不一一举例了, 最近在研究自由布局时发现有这样一个需求, 我们可以自由拖拽和缩放组件, 并能从组件的不同纬度拖拽...由于我们的技术栈采用的是 React, 目前还没有一个成熟库可以同时支持自由拖拽和缩放, 我们不得不用 react-dragable 和 react-resiable两个库来实现拖拽和缩放, 但是这样我们要维护的数据结构就相当复杂了...我们从可视化搭建平台的实际业务出发, 可以分析出拖拽缩放有如下几个功能点:
自由拖拽
支持控制点, 多方位缩放
支持自由控制层级
支持组件静态化(即为了实现固定, 预览页面等效果)
拖拽缩放的数据能回传给上层组件并提供受控机制...实现以上四点我们就可以实现一个可用的拖拽缩放组件....我们都知道组件单纯只有拖拽缩放能力远远不能满足业务需求, 对于可视化拖拽组件, 更重要的是要能保留拖拽后的数据, 比如宽高,位置,层级等数据, 所以我们需要监控几个事件, 并将数据传给对应的事件来让外层能监听和获取