2016-12-28 8 views
1

'/node_modules\mongodb-core\lib\topologies/../../package.json' 私は以下のエラーを取得しています:bundle.jsのbundle.js:1不明なエラー:モジュールを見つけることができません

ここでbundle.js:1 Uncaught Error: Cannot find module '/node_modules\mongodb-ore\lib\topologies/../../package.json'

は私のバージョンはdetialです:

OS:Windows10

のMongoDB:2.2.16

MongoDBのコア:2.1.2

ノード:6.9.2

私はnpm install bson-extを使用し、元がある一方で

try { 
// Load the precompiled win32 binary 
if(process.platform == "win32" && process.arch == "x64") { 
    bson = require('bson'); 
} else if(process.platform == "win32" && process.arch == "ia32") { 
    bson = require('bson'); 
} else { 
    bson = require('bson'); 
} 
} catch(err) { 
    console.log(err) 
    // Attempt to load the release bson version 
    try { 
     bson = require('bindings')('bson.node'); 
    } catch (err) { 
     throw new Error("js-bson: Failed to load c++ bson extension, using  pure JS version"); 
    } 
} 

\node_modules\mongodb-core\node_modules\bson-ext\ext\index.jsを変更しました:

bson = require('./win32/x64/bson'); 

私はbrowserify range.js > bundle.jsをしようとすると、それは内bson-ext moduleを見つけることができないので、 mongoDB-core

この種の操作で上記のエラーが発生するかどうかはわかりません。ここで

は私のpackage.jsonファイルです:

"dependencies": { 
"browserify": "^13.1.1", 
"bson": "^1.0.1", 
"d3": "^4.4.0", 
"express": "^4.14.0", 
"hbs": "^4.0.1", 
"jsdom": "^9.9.1", 
"mongodb": "^2.2.16", 
"mongodb-core": "^2.1.2" 
} 
+0

OSX 10.10、node @ 5.9.1で同じ問題が発生しています。私は '' mongodb ': '^ 2.2.16"を '' package.json' 'に持っています。これは、 'npm'がdepsを自動的にインストールするからです。しかし、 'mongodb-core'は' bson-ext'で 'optionalPeerDependencies'フィールドを使い、' mongodb-core'には 'bson-ext'が必要なブロックがいくつかあります。何らかの理由で、ネイティブ 'bson-ext'のlibsがnpmの' install'スクリプトで私のためにコンパイルされなかったので、オプションのrequireをコメントアウトしました...そして、私のアプリケーションがコンパイルしても、 OP。 Browserifyがそのパスを正しく解決していない可能性がありますか? – ericsoco

+0

ここをクリックしてください: http://stackoverflow.com/questions/36902720/mongodb-nodejs-drivers-browserify-compatibility-debugging-help mongodb + badcombeとしてブラウザを指しています... – ericsoco

答えて

0

私はまだこれを確認することができていないが、私は問題はMongoDBののJavaScript(Node.jsの)ドライバを使用することを意図していないことだと思いますセキュリティ上の理由から、ブラウザでOPの問題は、Browserifyが相対パスまたは他の何かを間違って解決することによるものかどうかは明らかではありませんが、ノードサーバ経由でMongoDBインスタンスに要求をプロキシするのが好ましい方法ではありません。

Mongoのは、ここでは、このための既製のソリューションを示します。 https://docs.mongodb.com/ecosystem/tools/http-interfaces/

注また、アプリケーションは、URLスキーマを介してDBから直接読み取ることができ--restオプション: https://docs.mongodb.com/ecosystem/tools/http-interfaces/#simple-rest-api

としてドキュメントでは、これはセキュリティに関する懸案事項ではありませんが、プロトタイピングに役立つ可能性があります。

+0

ああ、残念ながらSimple REST APIにはCORSヘッダーがありませんので、ブラウザからDBに照会するためにそれを単独で使用することはできません。役に立たない。 – ericsoco

+0

ありがとう!それはちょうど問題です。私はNode.jsに慣れておらず、 '.js'ファイルを使ってブラウザでmongoDBを間違って要求しています。私は数日前にこの問題を2回目に遭い、require( 'mongodb') '。from my'を削除して解決しました。js'ブラウザでファイルを使用しました。 –

関連する問題