这一切是如何开始的?
我是前端开发人员,但是我为开发而努力,因此我决定编写一个全栈应用程序,并
成为百万富翁,以获取宝贵的经验。
因此,我开始计划后端,选择MongoDB进行数据存储,并准备计划结构和字段之间的关系。
但是我遇到了一个简单而功能强大的模式编辑器的缺乏,而NoSQL数据库却没有多余的装饰。
-不? 因此,我将开展业务,找到一个库并填充界面!
Fullstack的想法被推到了后台,我开始研究最简单的数据库模式编辑器。
-天真...-但我稍后才意识到这一点。
搜索次数
首先,这类图书馆大多是有偿的,而且需要很多!
其次,那些免费的没有功能或充满了错误!
在第三个中将不会找到MxGraph。 尽管在上面写了出色的draw.io服务,但实际上它在Internet上没有提及,它本身是用于可视化和编辑数据的非常方便的工具。
投稿
我想每个人都听说过
Vue.js ,但以防万一-这是JavaScript-一种用于创建反应式用户界面的框架。
MxGraph是一个用于可视化和编辑各种流程,工作流程和BPM,数据库可视化,地图网络和电信,地图绘制应用程序和GIS,UML图,电子电路,VLSI,CAD,财务和社交网络,组织结构图等的库。
相容性
MxGraph是一个相当老的(但不是过时的)工具,因此在此处的Vue项目中简单地进行npm安装不会给我们带来完全的兼容性。 因此,我不得不挖掘网络并开始生产自行车。
找到受苦的解决方案
导入和嵌入Vue组件如下所示:
<script> import mxgraph from 'mxgraph';
为什么创建变量,然后又在窗口中注册变量?
事实是webpack在汇编过程中重命名了变量,而mxgraph随后找不到它们。 因此,特别是对于mxgraph,我将它们放在了全局对象中。
也不要忘记配置-尤其是在使用内置mxEditor接口时,否则库内容会出现问题。
为什么编辑器变量不可用?!
在操作过程中,由于mxgraph方法的上下文,我们将无法始终访问vue变量。 将它们纳入全局变量将大大节省时间和一些麻烦。
自定义数据对象为何再次在窗口中显示?
Mxgraph使用原型创建新的数据对象。 还需要将它们写入窗口-否则方案的内置导入/导出会出现问题。
进一步的开发变得更加容易,并且我不再遇到访问对象的问题。
我认为这种方法并不理想,如果有人为该兼容性解决方案提供替代方案,我会感到很高兴。发生了什么事?
一个用于对数据库模式进行建模的小应用程序:
nosqldbm.ru这有助于我可视化未来项目的近似数据库架构。
感谢您阅读我的第一本出版物,希望您对此感兴趣。
完整的git示例资料库MxGraph选择资料库小指南API文件例子