# vdesjs-drag **Repository Path**: FWorldCodeZ/vdesjs ## Basic Information - **Project Name**: vdesjs-drag - **Description**: 基于vue的可视化拖拽,代码生成工具。提升前端开发效率,或者集成至项目作为在线拖拽工具。(持续迭代升级中) - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 201 - **Created**: 2023-10-31 - **Last Updated**: 2023-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 中文 | [English](./README.en.md)
 ## 技术选型 :computer: :computer:
| 技术                                                             | 描述                                                                                                                           |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| [Vue.Draggable](https://github.com/SortableJS/Vue.Draggable)     | 基于 Sortable.js 的 Vue 拖放组件                                                                                               |
| vuex                                                             | 状态管理工具(简单理解就是维护vue的公共变量,供全局使用)                                                                        |
| [clipboard.js](https://github.com/zenorocha/clipboard.js)        | 将文本复制到剪贴板的插件                                                                                                       |
| [element-ui](https://element.eleme.cn/#/zh-CN)                   | 基于Vue.js 2.0 的桌面端UI框架                                                                                                  |
| [vant](https://vant-contrib.gitee.io/vant/)                      | 有赞前端团队开源的移动端组件库 (我们选择部分vant组件,将其作为vdesjs-drag左侧拖拽组件)                                              |
| [handlebars](https://github.com/handlebars-lang/handlebars.js)   | js模板引擎 (vdesjs-drag左侧拖拽组件的代码生成模板选择handlebars作为模板引擎。如果想自己编写生成模板,可参照handlerbars语法进行编写) |
| [vue-codemirror](https://github.com/surmon-china/vue-codemirror) | 代码编辑器(用其作为vdesjs-drag代码显示的编辑器)                                                                                     |
|[file-save.js](https://github.com/eligrey/FileSaver.js)| 将代码下载至本地 |
|[js-beautify](https://github.com/beautify-web/js-beautify)| 对生成的代码进行格式美化 |
## 项目目录结构
``` html
vdesjs
├── build
├── config
├── docs vuepress文档
│   ├── cooperation
│   └── guide
├── src
│   ├── assets 资源存放目录
│   │   ├── h5 h5模式
│   │   │   ├── basics 基础组件资源
│   │   │   ├── business 业务组件资源
│   │   │   ├── feeback 反馈组件资源
│   │   │   ├── form 表单组件资源
│   │   │   ├── nav 导航组件资源
│   │   │   └── show 展示组件资源
│   │   ├── icon
│   │   └── pc pc模式
│   │       └── basics
│   ├── common
│   │   ├── css 公共css
│   │   └── js 公共js
│   │       ├── h5
│   │       └── pc
│   ├── components 组件目录
│   │   ├── componentLib 左侧面板json数据存放
│   │   ├── h5 h5模式组件
│   │   │   ├── basics 左侧拖拽面板中的基础组件
│   │   │   ├── business 左侧拖拽面板中的业务组件
│   │   │   ├── feeback ...
│   │   │   ├── form ...
│   │   │   ├── nav ...
│   │   │   └── show ...
│   │   ├── pc pc模式组件
│   │   │   ├── basics
│   │   │   └── media
│   │   ├── pcomp 右侧属性栏独立组件
│   │   └── sub 实现vdesjs的子组件
│   ├── handlebars 模板代码存放目录
│   │   ├── helpers handlebars自定义helper
│   │   └── template
│   │       ├── h5 h5模式模板
│   │       └── pc pc模式模板
│   ├── mixins 混入
│   ├── page 路由页面
│   ├── preview 用于预览模式的组件
│   ├── router 路由配置
│   └── store vuex配置
└── static
```
## 扩展组件步骤 :electric_plug: :electric_plug:
* 1.编写左侧组件json数据结构
* 2.编写组件,引入组件。
* 3.编写代码生成模板
* 如需详细步骤请参阅vdesjs官网
## 参考文档 :notebook: :notebook:
官方文档: http://china-bin.gitee.io/vdesjs/
预览地址: http://china-bin.gitee.io/vdesjs/demo/#/
## 持续升级
项目会持续维护升级,如您在使用中与到任何bug,或者关于本项目有任何好的建议都可以联系作者。
## 技术反馈交流群 :telephone_receiver: :telephone_receiver:
## 技术选型 :computer: :computer:
| 技术                                                             | 描述                                                                                                                           |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| [Vue.Draggable](https://github.com/SortableJS/Vue.Draggable)     | 基于 Sortable.js 的 Vue 拖放组件                                                                                               |
| vuex                                                             | 状态管理工具(简单理解就是维护vue的公共变量,供全局使用)                                                                        |
| [clipboard.js](https://github.com/zenorocha/clipboard.js)        | 将文本复制到剪贴板的插件                                                                                                       |
| [element-ui](https://element.eleme.cn/#/zh-CN)                   | 基于Vue.js 2.0 的桌面端UI框架                                                                                                  |
| [vant](https://vant-contrib.gitee.io/vant/)                      | 有赞前端团队开源的移动端组件库 (我们选择部分vant组件,将其作为vdesjs-drag左侧拖拽组件)                                              |
| [handlebars](https://github.com/handlebars-lang/handlebars.js)   | js模板引擎 (vdesjs-drag左侧拖拽组件的代码生成模板选择handlebars作为模板引擎。如果想自己编写生成模板,可参照handlerbars语法进行编写) |
| [vue-codemirror](https://github.com/surmon-china/vue-codemirror) | 代码编辑器(用其作为vdesjs-drag代码显示的编辑器)                                                                                     |
|[file-save.js](https://github.com/eligrey/FileSaver.js)| 将代码下载至本地 |
|[js-beautify](https://github.com/beautify-web/js-beautify)| 对生成的代码进行格式美化 |
## 项目目录结构
``` html
vdesjs
├── build
├── config
├── docs vuepress文档
│   ├── cooperation
│   └── guide
├── src
│   ├── assets 资源存放目录
│   │   ├── h5 h5模式
│   │   │   ├── basics 基础组件资源
│   │   │   ├── business 业务组件资源
│   │   │   ├── feeback 反馈组件资源
│   │   │   ├── form 表单组件资源
│   │   │   ├── nav 导航组件资源
│   │   │   └── show 展示组件资源
│   │   ├── icon
│   │   └── pc pc模式
│   │       └── basics
│   ├── common
│   │   ├── css 公共css
│   │   └── js 公共js
│   │       ├── h5
│   │       └── pc
│   ├── components 组件目录
│   │   ├── componentLib 左侧面板json数据存放
│   │   ├── h5 h5模式组件
│   │   │   ├── basics 左侧拖拽面板中的基础组件
│   │   │   ├── business 左侧拖拽面板中的业务组件
│   │   │   ├── feeback ...
│   │   │   ├── form ...
│   │   │   ├── nav ...
│   │   │   └── show ...
│   │   ├── pc pc模式组件
│   │   │   ├── basics
│   │   │   └── media
│   │   ├── pcomp 右侧属性栏独立组件
│   │   └── sub 实现vdesjs的子组件
│   ├── handlebars 模板代码存放目录
│   │   ├── helpers handlebars自定义helper
│   │   └── template
│   │       ├── h5 h5模式模板
│   │       └── pc pc模式模板
│   ├── mixins 混入
│   ├── page 路由页面
│   ├── preview 用于预览模式的组件
│   ├── router 路由配置
│   └── store vuex配置
└── static
```
## 扩展组件步骤 :electric_plug: :electric_plug:
* 1.编写左侧组件json数据结构
* 2.编写组件,引入组件。
* 3.编写代码生成模板
* 如需详细步骤请参阅vdesjs官网
## 参考文档 :notebook: :notebook:
官方文档: http://china-bin.gitee.io/vdesjs/
预览地址: http://china-bin.gitee.io/vdesjs/demo/#/
## 持续升级
项目会持续维护升级,如您在使用中与到任何bug,或者关于本项目有任何好的建议都可以联系作者。
## 技术反馈交流群 :telephone_receiver: :telephone_receiver: