我有两个模块,一个是User.js
,另一个是Member.js
。两者分别定义构造函数User
和Member
。所以,假设我正在通过以下方式测试Member
:
var User = require('../lib/User.js'); --- a
var Member = require('../lib/Member.js'); --- b
var m = new Member({ endpoint:'http://localhost:8001/3.0',
username : 'restadmin',
password : 'restpass',
},
'http://localhost:8001/3.0/members/106895033442048746754783910678565967857');
m.getInfo().then(function() {
console.log(m.user);
});
问题是两个必需语句(a)
和(b)
的顺序,如果我需要Member
User
之前一切正常,TypeError: object is not a function is thrown.
< / p>
我在User
模块中记录Member
以检查它是否是构造函数,它是{}
。这就是错误的原因。