在base_model:
function BaseModel() { /* ... */ }
BaseModel.prototype.fromID = function() { /* ... */ };
module.exports = BaseModel;
在user_model:
var BaseModel = require('relative/or/absolute/path/to/base_model');
function UserModel() {
UserModel.super_.apply(this, arguments);
}
UserModel.super_ = BaseModel;
UserModel.prototype = Object.create(BaseModel.prototype, {
constructor: {
value: UserModel,
enumerable: false
}
});
UserModel.prototype.yourFunction = function() { /* ... */ };
module.exports = UserModel;
,而不是直接使用Object.create()
,你也可以使用util.inherits,所以你user_model
变为:
var BaseModel = require('relative/or/absolute/path/to/base_model'),
util = require('util');
function UserModel() {
BaseModel.apply(this, arguments);
}
util.inherits(UserModel, BaseModel);
UserModel.prototype.yourFunction = function() { /* ... */ };
module.exports = UserModel;
我们可以在这里使用utils.inherits吗? – Yalamber 2013-04-25 11:41:41
@askkirati是的,请参阅最新的答案。 'util.inherits'做的和我所做的非常相似,只是我的选择是直接使用Object.create()。 – fardjad 2013-04-25 11:51:50
谢谢。我现在就试试。非常感谢你的回答 – Yalamber 2013-04-25 15:46:24