当在需要 mongo (connect-mongo) 的模块之前需要 d3.js 时,我收到以下错误:
TypeError: Cannot read property 'BSON' of undefined
at .../node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/index.js:48:44
如果我在 mongo 模块之后需要 d3.js,它可以正常工作......
我不是第一个遇到这个问题的人,但我不知道有什么冲突 How to use D3 in Node.js properly?
最佳答案
发生这种情况是因为您使用的 BSON 版本会检查 window
全局是否存在,以查看它是否在 Node.JS 中运行。这是一个坏主意,例如D3.js 通过 JSDOM 创建这样一个全局变量,从而使检查无效。
但是,这个问题似乎已在 recent commit 中得到修复。 ,即在 BSON v0.1.5 中。
在撰写本文时,npmjs.org 上的 mongodb 版本为 v1.1.11 ,但 BSON 依赖项已在 v1.2.0 中更新,该版本似乎即将发布(请参阅 GitHub)。
关于node.js - Node.js 中 d3 和 mongo 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368324/