基于React+Koa实现一个h5页面可视化编辑器-Dooring

本文介绍了如何基于React和Koa实现一个H5页面的可视化编辑器Dooring,包括需求分析、技术选型、组件库设计、预览和下载功能的实现,以及后端部分的概述。重点讲解了使用react-dnd和react-draggable实现拖拽功能,以及数据结构设计和动态渲染组件的方法。
摘要由CSDN通过智能技术生成

前言

前段时间笔者一直忙于数据可视化方面的工作,比如如何实现拖拽式生成可视化大屏,如何定制可视化图表交互和数据导入方案等,这块需求在B端企业中应用非常大,所以非常有探索价值。

本篇文章并非和数据可视化相关,而是通过抽象技术底层,将其应用于H5页面可视化搭建上,通过技术的手段实现拖拽式生成H5页面。这块也有非常多的应用场景,比如我们需要开发一个移动端网站,一个H5营销页面,H5活动页面等,如果有这样的傻瓜式拖拽的工具生成H5页面,将会极大的提高我们的工作效率。

接下来笔者将对h5页面可视化编辑器-Dooring做详细的项目分析和原理解读,来带大家深入了解h5可视化搭建页面的原理和技术实现。H5编辑器预览如下:

About image

github地址:传送门

技术栈

  • React 前端主流框架(react,vue,angular)之一,更适合开发灵活度高且复杂的应用

  • dva 主流的react应用状态管理工具,基于redux

  • less css预编译语言,轻松编写结构化分明的css

  • umi 基于react的前端集成解决方案

  • antd 地球人都知道的react组件库

  • axios 强大的前端请求库

  • react-dnd 基于react的拖拽组件解决方案,具有优秀的设计哲学

  • qrcode.react 基于react的二维码生成插件

  • zarm 基于react的移动端ui库,轻松实现美观的H5应用

  • koa 基于nodejs的上一代开发框架,轻松实现基于nodejs的后端开发

  • @koa/router 基于koa2的服务端路由中间件

  • ramda 优秀的函数式js工具库

需求分析

在思考需求分析之前我们先来看看Dooring的使用演示:

About image

由上面的gif图我们可以分析出,可视化编辑器主要有以下几部分组成:

  • 可拖拽的组件库 draggable components

  • 盛放组件的画布 canvas

  • 组件编辑器 FormEditor

  • 头部工具栏 toolBar

可拖拽组件我们可以用社区比较火的react-dnd,react-draggable来实现,由于我们的画布是可拖拽可放大缩小的,所以这里需要对画布赋能,具体实现可参考下文。

其次就是H5编辑器部分,这部分是核心功能,后面我们会详细分析。还有就是预览,生成预览链接,保存json文件, 保存模版这些功能本质上是对我们json文件的操作,可是目前可视化搭建技术的常用手段之一。先来看看这些功能的演示:

About image

基础准备

我们的h5页面可视化编辑器采用umi来作为脚手架工具.

umi是可扩展的企业级前端应用框架,以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值