【问题标题】:Explain or demonstrate integration between JointJS and Node.js解释或演示 JointJS 和 Node.js 之间的集成
【发布时间】:2014-01-07 15:41:42
【问题描述】:

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

http://www.jointjs.com/ 声称“支持 NodeJS”。 Git commit log 包含诸如“为 NodeJS 环境创建测试”之类的 cmets。

【问题讨论】:

  • JointJS 不是和 DOM 紧密相关的吗?服务器端没有 DOM。我不知道您将如何在服务器端使用它。
  • @freakish 查看某些来源的更新问题。

标签: node.js jointjs


【解决方案1】:

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

安装jointjs:npm install 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 模型存储在我的数据库中,避免将其转换为前端可以使用的东西?目前我有一个 MongoDB 模型,我将它的派生发送到前端,所以这个功能可能对我有用。
  • 这确实是一种动机。另一个是你可以在服务器上有一个图表,并在客户端-服务器之间进行某种同步。这允许你做例如类似于:graph.on('change', storeToDB) 在您的服务器应用程序中。我们将其与执行此类同步(有效实现实时协作)的 Channel 插件(商业扩展的一部分)结合使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-07
  • 2020-11-16
  • 1970-01-01
  • 2018-06-07
  • 2017-07-23
  • 2017-09-15
  • 1970-01-01
相关资源
最近更新 更多