我有一个名为 UserProvider 的模块,看起来像这样
var UserProvider = function(db) { ... }
UserProvider.prototype.createUser = function(email, password, callback) { ... }
UserProvider.prototype.findUserByEmail = function(email, callback) { ... }
...
exports.UserProvider = UserProvider;
另一个名为 ModelProvider 的模块看起来像这样
var UserProvider = require('./user').UserProvider;
var ModelProvider = function() {
...
this.User = new UserProvider(db);
}
exports.ModelProvider = ModelProvider;
但是该行this.User = new UserProvider(db);
不允许我访问UserProvider
包含该ModelProvider
模块的主模块中的对象。
当我尝试调用它时:
var ModelProvider = require('./model/model').ModelProvider;
var Model = new ModelProvider();
Model.User.findUserByEmail(email, function() {...});
它给出了以下错误:
TypeError: Object function Model(doc, fields, skipId) {
if (!(this instanceof Model))
return new Model(doc, fields, skipId);
model.call(this, doc, fields, skipId);
} has no method 'findUserByEmail'
我假设我缺少一些 JavaScript 技巧来公开它?
谢谢!