我有以下主要的ES6类,其中包含对其他ES6类的引用,这些引用稍后在我的代码中被动态调用,如下所示:

class Root {
   constructor() {
       this.refs = {
         ref1: require('ref1')
         ref2: require('ref2')
       }
   }
}

module.exports = exports = new Root;


ref1和ref2导出class Ref1class 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

10-07 14:59