Javascript 从nodejs服务器直接呈现和提供d3可视化

Javascript 从nodejs服务器直接呈现和提供d3可视化,javascript,node.js,d3.js,Javascript,Node.js,D3.js,我尝试了上述链接代码,但它显示以下错误消息: TypeError:无法读取未定义的属性“querySelector” 你能告诉我问题在哪里或有什么解决办法吗 谢谢。错误来自线路 d3.select('body') 此选择在DOM中搜索元素“body”,但NodeJS不提供DOM。DOM通常由浏览器提供。在NodeJ中,必须指定DOM实现。 D3文档对此进行了解释: D3也在Node.js上运行。使用npm安装d3进行安装 请注意,因为节点本身缺少一个DOM和多个DOM 存在针对它的实现(例如

我尝试了上述链接代码,但它显示以下错误消息: TypeError:无法读取未定义的属性“querySelector”

你能告诉我问题在哪里或有什么解决办法吗


谢谢。

错误来自线路

d3.select('body')
此选择在DOM中搜索元素“body”,但NodeJS不提供DOM。DOM通常由浏览器提供。在NodeJ中,必须指定DOM实现。 D3文档对此进行了解释:

D3也在Node.js上运行。使用npm安装d3进行安装

请注意,因为节点本身缺少一个DOM和多个DOM 存在针对它的实现(例如JSDOM),您需要显式地 将DOM元素传递给d3方法,如下所示:

var d3=要求(“d3”), jsdom=require(“jsdom”)

var document=jsdom.jsdom(), svg=d3.select(document.body).append(“svg”)

您可以尝试分叉此项目:。
按照D3文档的建议,它使用jsdom作为DOM实现。

有一个方便的软件包,请尝试
npm安装D3节点


还有很多例子

谢谢你的回复。有一个问题:他们说“请注意,在我们的4.0.0版本中,jsdom不再与Node.js一起工作™, 如果您使用Node.js,仍然欢迎您在3.x系列中安装一个版本™." 所以,我尝试了3.x系列,但仍然不起作用?我现在应该怎么做?提前完成