解释或演示JointJS和Node.js之间的集成

解释或演示JointJS和Node.js之间的集成,node.js,jointjs,Node.js,Jointjs,一年后,我又回到JointJS,我看到它现在声称对Node.js有某种支持或兼容性。我正在使用Node.js,我想知道是否可以利用这个功能。是否有教程指导我完成这一过程,或者有人能解释一下Node.js模型集成为JointJS提供了什么 声称“NodeJS支持”。 包含类似“为NodeJS环境创建测试”的注释。是的,JointJS支持NodeJS环境。请注意,仅支持模型(元素、链接、图形)。例如,您可以在服务器端构建图形,然后将其字符串化为JSON,将其发送到客户端,并在那里显示该图形: 安装j

一年后,我又回到JointJS,我看到它现在声称对Node.js有某种支持或兼容性。我正在使用Node.js,我想知道是否可以利用这个功能。是否有教程指导我完成这一过程,或者有人能解释一下Node.js模型集成为JointJS提供了什么

声称“NodeJS支持”。
包含类似“为NodeJS环境创建测试”的注释。

是的,JointJS支持NodeJS环境。请注意,仅支持模型(元素、链接、图形)。例如,您可以在服务器端构建图形,然后将其字符串化为JSON,将其发送到客户端,并在那里显示该图形:

安装jointjs:
npm安装jointjs

在NodeJS中创建图形:

var joint = require('jointjs');
var graph = new joint.dia.Graph;

var el1 = new joint.shapes.basic.Rect({ position: { x: 50, y: 50 }, attrs: { text: { fill: 'yellow' } }});
var el2 = new joint.shapes.basic.Rect({ position: { x: 300, y: 200 }, attrs: { text: { fill: 'yellow' } }});
var link = new joint.dia.Link({ source: { id: el1.id }, target: { id: el2.id } });
graph.addCells([el1, el2, link]);
使用图表执行所需操作:

storeToDBOrSendToClient(graph.toJSON())

只要使用JointJS模型,就可以在NodeJS环境中利用JointJS的所有功能。

JointJS与DOM不是紧密相关吗?服务器端没有DOM。我不知道你会如何在服务器端使用它。@freakish请参阅更新的问题以获取一些来源。非常有趣!我猜这个特性的动机是为了让我可以在数据库中存储JointJS模型,避免将其转换为前端可以使用的东西?目前我有一个MongoDB模型,我把它的一个派生版本发送到前端,所以这个特性对我很有用。这确实是一个动机。另一个是,您可以在服务器上有一个图形,并在客户端和服务器之间进行某种同步。这允许您在服务器应用程序中执行例如:graph.on('change',storeToDB)之类的操作。我们将其与我们的渠道插件(商业扩展的一部分)结合使用,以实现这种同步(有效地实现实时协作)。