我有以下主要的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
如何正确引用这些引用类?
最佳答案
您在()
之后缺少new Root
。
如果导出设置为默认值,则可能还需要尝试使用require('ref1').default