tmagic-editor,腾讯开源的基于 Vue3 的页面可视化编辑器

hi, 大家好, 我是徐小夕.

之前一直在社区分享零代码 &低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:

最近也一直在研究可视化搭建 + AI 相关的技术实践, 为了让大家更好的学习和上手可视化零代码平台的开发,今天就和大家分享一款开源的可视化页面编辑器------tmagic-editor

github地址 https://github.com/Tencent/tmagic-editor

一、tmagic-editor 是什么?

tmagic-editor 是一款基于 Vue3 的 Web 页面可视化编辑器工具,它的出现为前端开发带来了全新的思路和方法。以往,开发者在构建页面时,往往需要花费大量时间在繁琐的代码编写和页面布局调整上,而 tmagic-editor 通过提供友好的拖拽编辑方式,让这一过程变得轻松简单。

上面是它的原理流程图,无论是经验丰富的资深开发者,还是刚入门的新手,都能通过这套模式轻松上手开发可视化编辑器。

它和我之前研发的零代码平台 H5-Dooring有点类似,都是通过可视化拖拽和配置式来生成页面,接下来我就和大家详细介绍一下这款开源项目,并提供一个代码案例,帮助大家更快的上手和掌握它。

二、核心特性解析

2.1 友好的拖拽编辑方式

tmagic-editor 的拖拽编辑功能和 H5-Dooring 类似,支持自由布局。开发者只需通过简单的鼠标操作,将所需的组件从组件库中拖拽到页面编辑区域,即可完成组件的添加。

同时,还可以对组件进行自由的布局调整、样式修改等操作,就像在使用一款专业的图形设计软件一样。这种直观的操作方式,极大地降低了开发门槛,提高了开发效率。例如,在创建一个电商产品展示页面时,开发者可以直接拖拽商品图片组件、价格组件、描述组件等,快速搭建出页面框架,然后再根据需求进行细节调整,整个过程可能只需要几分钟,而传统的开发方式可能需要花费数小时甚至更长时间。

2.2 丰富的自定义组件和插件

为了满足不同项目的多样化需求,tmagic-editor 支持丰富的自定义组件和插件。开发者可以根据项目特点,自行开发或引入第三方的组件和插件,拓展编辑器的功能。这意味着,无论你是在开发企业级应用、电商平台还是社交类网站,都能找到适合自己项目的组件和插件,实现个性化的页面构建。比如,在开发一个在线教育平台时,开发者可以引入自定义的课程视频播放组件、在线测试组件等,为用户提供更加丰富的学习体验。

2.3 强大的配置能力

tmagic-editor具备强大的配置能力,开发者可以通过配置文件对编辑器进行全方位的定制。从组件的属性设置、事件绑定,到页面的布局方式、交互效果,都可以通过配置文件进行灵活调整。这种配置化的开发方式,不仅提高了开发效率,还使得代码的可维护性大大增强。例如,在开发一个多语言版本的网站时,开发者可以通过配置文件轻松切换不同语言的文本内容,而无需修改大量的代码。

2.4 支持 element-plus、tdesign-vue-next 等 UI 组件库并可扩展

在 UI 组件库方面,tmagic-editor 同样表现出色。它支持 element-plus、tdesign-vue-next 等流行的 UI 组件库,为开发者提供了丰富的组件选择。

同时,tmagic-editor 还具备良好的扩展性,开发者可以根据项目需求,轻松引入其他 UI 组件库。这使得开发者在构建页面时,能够根据项目的风格和需求,选择最合适的 UI 组件,打造出美观、易用的 Web 页面。

例如,在开发一个简约风格的管理后台时,开发者可以选择 element-plus 的组件,快速搭建出简洁明了的页面;而在开发一个时尚的电商平台时,tdesign-vue-next 的组件则能为页面增添更多时尚元素。

2.5. 支持移动、PC 布局

随着移动互联网的发展,响应式设计变得越来越重要。tmagic-editor 充分考虑到这一点,它支持移动、PC 布局,开发者可以通过简单的切换,实现同一页面在不同设备上的完美展示。无论是在手机、平板还是电脑上,用户都能获得一致的良好体验。例如,在开发一个新闻资讯类应用时,开发者可以使用 tmagic-editor 轻松创建适应不同设备的页面布局,让用户在手机上能够方便地浏览新闻内容,在电脑上则能获得更丰富的信息展示。

三、如何使用 tmagic-editor?

3.1 安装与初始化

使用 tmagic-editor 非常简单,首先需要在项目中安装相关依赖。如果你的项目是基于 Vue3 的,可以通过 npm 或 yarn 进行安装:

nginx 复制代码
npm install tmagic-editor

安装完成后,在项目中引入 tmagic-editor 并进行初始化:

javascript 复制代码
import { createApp } from 'vue';
import TmagicEditor from 'tmagic-editor';
import 'tmagic-editor/dist/index.css';


const app = createApp(App);
app.use(TmagicEditor);
app.mount('#app');

3.2 基本使用方法

在项目中引入 tmagic-editor 后,就可以在页面中使用它了。在 Vue 组件中,可以通过以下方式使用 tmagic-editor:

xml 复制代码
<template>
  <tmagic-editor :config="editorConfig" @save="handleSave"></tmagic-editor>
</template>


<script setup>
import { ref } from 'vue';


const editorConfig = ref({
  // 配置项
});


const handleSave = (data) => {
  console.log('保存的数据:', data);
};
</script>

3.3 插件开发

tmagic-editor 还支持插件开发,通过插件可以拓展编辑器的功能。例如,开发一个导出 PDF 的插件:

typescript 复制代码
import { definePlugin } from 'tmagic-editor';


export default definePlugin({
  name: 'export-pdf',
  setup(editor) {
    editor.on('save', (data) => {
      // 导出PDF逻辑
    });
  }
});


// 注册插件
import ExportPDFPlugin from './ExportPDFPlugin.js';


const editorConfig = ref({
  plugins: [ExportPDFPlugin]
});

当然还有更多能力大家可以自行探索挖掘。

最近我们H5-Dooring零代码 编辑器也在持续更新,目前已支持多布局模式和页面权限控制能力,组件商店以及数据埋点分析等功能:

大家感兴趣也可以参考体验一下:

https://dooring.vip

后期还会持续迭代更新H5-Dooring以及最新的进展,欢迎大家交流反馈,如果你也有好的想法或者产品,欢迎在留言区交流~

往期精彩

相关推荐
WeiLai11124 小时前
CodeGPT 使用教程(适用于 VSCode)
ide·vscode·编辑器
浪波湾8 小时前
汉化VScode
ide·vscode·编辑器
莲动渔舟11 小时前
国产编辑器EverEdit - 独门暗器:自动监视剪贴板内容
编辑器·emeditor·notepad·everedit
我是高手高手高高手11 小时前
editor.md编辑器,图片跨域上传,前后端分离
开发语言·编辑器·php
WebCandy11 小时前
用Trae编辑器写一个Trae的AI对话记录导出脚本
人工智能·编辑器·github·copilot·ai编程
艺霖树洞11 小时前
DeepSeek + Mermaid编辑器——常规绘图
编辑器
WeiLai111213 小时前
VSCode使用Cline插件集成OpenAI教程
ide·vscode·编辑器
我命由我1234515 小时前
微信小程序项目 video 组件失效问题,无法播放本地视频
前端·javascript·vue.js·前端框架·编辑器·html·html5
清风细雨_林木木17 小时前
wangEditor 编辑器 Vue 2.0 + Nodejs 配置
vue.js·okhttp·编辑器
艾斯比的日常1 天前
VSCode 实用快捷键
ide·vscode·编辑器