在节点项目中需要d3会导致jsdom错误

时间:2012-09-14 00:06:25

标签: javascript node.js d3.js npm jsdom

我真的很困惑这里发生了什么。对于d3 2.10.1,require 'd3'调用会在d3的index.js行中生成关于jsdom的错误:

document = require("jsdom").jsdom("<html><head></head><body></body></html>");

jsdom位于dpm安装的d3的node_modules文件夹中。但是,即使我直接在package.json / slug.json中安装jsdom作为依赖项,我也会遇到同样的错误。当需要d3时,问题如下:抛出上面的那一行:

Uncaught module jsdom not found 

对于旧版本的d3(2.8.1)也会发生这种情况。我在Spine / hem / npm应用程序中使用d3并且不知道是什么导致了这一点。现在,我刚刚需要d3.v2.min.js脚本,但这只是一个暂时的黑客攻击。

希望你的节点战士可以帮助我!

1 个答案:

答案 0 :(得分:0)

这似乎可以通过以下方式解决:

require 'd3/d3.v2'

显然,正常require 'd3'(获取index.js)是服务器端非浏览器使用的,所以如果你使用npm编写客户端应用程序,你需要上面的内容。