我有以下主ES6类,它包含对我的代码中稍后动态调用的其他ES6类的引用,如下所示:
class Root {
constructor() {
this.refs = {
ref1: require('ref1')
ref2: require('ref2')
}
}
}
module.exports = exports = new Root;
ref1和ref2导出class Ref1
和class Ref2
的新实例。
稍后,我尝试通过执行以下操作来创建其中一个引用类的实例:
const Root = require('root');
class other {
someFunc() {
var ref = new Root.refs['ref1'](value);
}
}
这始终以以下错误结束:
TypeError: this.actions[action.action] is not a constructor
如何正确引用这些ref类?
答案 0 :(得分:0)
()
之后您遗失new Root
。
如果导出设置为默认值,您可能还想尝试使用require('ref1').default
答案 1 :(得分:0)
您没有使用Root
关键字导出要导出类Root实例的类new
。
将其更改为module.exports = Root;