0

いくつかの一般的なメソッド(保存、更新など)を持つBaseオブジェクトを作成しようとしています。を使用してみましObject.create(Base)たが、で動作させる方法がわかりませんでしたmodule.exports

BaseをUserのプロトタイプとしてどのように割り当てますか?それとも私の目標を達成するためのより良い方法はありますか?

models / user.js

var Base = require('models/base.js');

var User = module.exports = function(data) {    
    data       = data || {};    
    this.fname = data.fname || '';
    this.lname = data.lname || '';
    this.email = data.email || '';    
};

/**
 * Takes a response from FB and convert it to object
 */
User.prototype.importFacebookData = function(result) {

    this.fname      = result.first_name || '';
    this.lname      = result.last_name || '';
    this.name       = result.name || this.fname + ' ' + this.lname || '';
    this.email      = result.email || '';    
};

models / base.js

var Base = module.exports = function() {

};

Base.prototype.save = function() {
  // Some code for saving to DB
};
4

1 に答える 1

1

これを試して:

User.prototype = new Base();

私は今それをテストできるマシンではありませんが、理論的にはそれはうまくいくはずです。

于 2012-09-10T19:29:39.237 に答える