私はこの1時間、findOne、findOneOrCreateなどのメソッドを使用してpassport.jsのユーザーモジュールを作成しようと試みてきましたが、正しく理解できません。
User.js
var User = function(db) {
this.db = db;
}
User.prototype.findOne(email, password, fn) {
// some code here
}
module.exports = exports = User;
app.js
User = require('./lib/User')(db);
User.findOne(email, pw, callback);
私は何十ものエラーを経験してきましたが、ほとんどは
TypeError: object is not a function
また
TypeError: Object function () {
function User(db) {
console.log(db);
}
} has no method 'findOne'
ユーザーのオブジェクト/インスタンスを作成せずに、これらの関数を使用して適切なモジュールを作成するにはどうすればよいですか?
アップデート
私は提案された解決策を検討しました:
var db;
function User(db) {
this.db = db;
}
User.prototype.init = function(db) {
return new User(db);
}
User.prototype.findOne = function(profile, fn) {}
module.exports = User;
運がない。
TypeError: Object function User(db) {
this.db = db;
} has no method 'init'