Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在REPL环境中使用Cytoscape.js_Javascript_Node.js_Cytoscape.js - Fatal编程技术网

Javascript 在REPL环境中使用Cytoscape.js

Javascript 在REPL环境中使用Cytoscape.js,javascript,node.js,cytoscape.js,Javascript,Node.js,Cytoscape.js,我正在尝试探索cytoscape图形核心对象,并希望在运行时访问其属性。我可以使用Node.js解释器实例化cy对象并在元素上运行方法吗?如果这是一个选项,我也不知道真正的图形将显示在哪里。Node.js是否会打开浏览器窗口?Node.js REPL表示JavaScript解释器,但它与DOM没有关系。从cytoscape中,需要DOM: var cy = cytoscape({ container: document.getElementById('cy') // container to

我正在尝试探索cytoscape图形核心对象,并希望在运行时访问其属性。我可以使用Node.js解释器实例化cy对象并在元素上运行方法吗?如果这是一个选项,我也不知道真正的图形将显示在哪里。Node.js是否会打开浏览器窗口?

Node.js REPL表示JavaScript解释器,但它与DOM没有关系。从cytoscape中,需要DOM:

var cy = cytoscape({
  container: document.getElementById('cy') // container to render in
});
因此,似乎您无法将cytoscape的视觉功能用于REPL。然而,文件说:

容器:一个HTML DOM元素,图形应该在其中呈现。 如果Cytoscape.js是无头运行的,则这是未指定的


但我认为您可以使用REPL无头运行
Cytoscape

实际上,我只是找到了如何在REPL环境中运行Cytoscape。仍然没有找到以图形方式显示它的方法,但我可以与该对象交互以探索其属性:

$ node
>var cytoscape = require('cytoscape');
>var cy = cytoscape({
  container: document.getElementById('cy'), // container to render in
  elements: [ // list of graph elements to start with
    { // node a
      data: { id: 'a' }
    },
    { // node b
      data: { id: 'b' }
    },
    { // edge ab
      data: { id: 'ab', source: 'a', target: 'b' }
    }
  ],
  style: [ // the stylesheet for the graph
    {
      selector: 'node',
      style: {
        'background-color': '#666',
        'label': 'data(id)'
      }
    },

    {
      selector: 'edge',
      style: {
        'width': 3,
        'line-color': '#ccc',
        'target-arrow-color': '#ccc',
        'target-arrow-shape': 'triangle'
      }
    }
  ],
  layout: {
    name: 'grid',
    rows: 1
  }
});
实例化cy对象后,我可以通过键入以下内容与它进行交互:

> cy.
cy.__defineGetter__      cy.__defineSetter__
cy.__lookupGetter__      cy.__lookupSetter__
cy.__proto__             cy.constructor
cy.hasOwnProperty        cy.isPrototypeOf
cy.propertyIsEnumerable  cy.toLocaleString
cy.toString              cy.valueOf

> cy.elements().forEach(function(e){ console.log(e.data())});
{ id: 'a' }
{ id: 'b' }
{ id: 'ab', source: 'a', target: 'b' }

您正在使用
http://js.cytoscape.org/
?对不起,不是你。有人问了,我在问自己这个问题是否愚蠢:)我的回答有用吗?为什么投反对票?请写评论,谢谢。当使用node.js时,文档说cytoscape将无头运行。所以我想有一个选择,但我不知道我怎么理解headlessly意味着它不绑定到HTML元素,因为它在非浏览器环境中运行。但是,如果是这种情况,那么在node.js中运行它有什么意义?这是一个图形library@chenchuk,我不知道。你问它是否可以在REPL中运行,我回答了这个问题。使用cytosnap在Node.js上生成快照:“那么在Node.js中运行它的意义是什么?它是一个图形库”它是图论的可视化库和分析库。例如,您可以使用Cytoscape和Node.js上的爬行库来实现Google搜索。