Node.jsで本当に苛立たしい問題が発生しています。
私がしていることから始めましょう。
ファイルにオブジェクトを作成してから、コンストラクターをエクスポートして他のファイルに作成しています。
私のオブジェクトは次のように定義されています。
ファイル1:
var Parent = function() {};
Parent.prototype = {
C: function () { ... }
}
module.exports = Parent;
ファイル2:
var Parent = require('foo.js'),
util = require('util'),
Obj = function(){ this.bar = 'bar' };
util.inherits(Obj, Parent);
Obj.prototype.A = function(){ ... };
Obj.prototype.B = function(){ ... };
module.exports = Obj;
別のファイルでそのようにオブジェクトを使用しようとしています
ファイル3:
var Obj = require('../obj.js'),
obj = new Obj();
obj.A();
エラーが発生しました:
TypeError: Object [object Object] has no method 'A'
ただし、Object.getPrototypeOf(obj)を実行すると、次のようになります。
{ A: [Function], B: [Function] }
ここで何が間違っているのかわかりません。助けていただければ幸いです。