私の Node.js サーバー コードは扱いにくく長くなっていたので、最近、関数を個別の .js ファイルにリファクタリングし、requires
. 例えば:
//server.js
var queries = require('./routes/queries');
var authenticate = require('./routes/authenticate');
...
//queries.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
exports.SomeFunctionB = ...
...
//authenticate.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
exports.SomeFunctionA = ...
...
ただし、コードを実行するたびに、Mongoose.connect は、閉じられていない接続を開こうとしているというエラーを吐き出します。mongoose.connect
これは、両方の JS ファイルを呼び出しているためだと理解しています。
私はそれを知っているのでServer.js
、実際に実行されるNode.jsファイルは前にsが必要ですが、2番目を単純に省略できますか?queries.js
authenticate.js
mongoose.connect
おそらくより具体的には、ファイルvar mongoose
内の はファイル内queries
の と同じ参照ですか?var mongoose
authenticate
そうでない場合、そもそもそのマングース接続を確立する必要があるかどうかをどのようにテストできますか?