2

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 が必要な場合は、正常に動作します...

この問題に遭遇したのは私が初めてではありませんが、何が競合しているのかわかりません Node.jsでD3を適切に使用するには?

4

1 に答える 1

2

これは、使用している BSON のバージョンがwindowグローバルの存在をチェックして、それが Node.JS で実行されているかどうかを確認するために発生します。これは悪い考えです。たとえば、D3.js は JSDOM を介してそのようなグローバルを作成し、チェックを無効にします。

ただし、この問題は最近のコミット、つまり BSON v0.1.5 で修正されたようです。

執筆時点で、npmjs.org の mongodb のバージョンは v1.1.11 です、BSON 依存関係は v1.2.0 で更新されており、リリース間近のようです (GitHub を参照)。

于 2012-11-13T20:59:23.970 に答える