首页 > 解决方案 > 可以初始化动态模块并将它们联合起来的 Api 类

问题描述

我试图找出一种模式,其中单个类可以实例化动态模块类并将它们附加到自身。

例如,我有

模块 1

class object1 {
  construct(params) {
    this.params = params
  }
}

module.exports = object1

模块 2

class object2 {
  construct(params) {
    this.params = params
  }
}
module.exports = object2

还有一个 API 模块,它会以某种方式实例化无限数量的对象并将它们附加到自身。

class Api {

}

module.exports = new Api;

API 模块的功能应该像这样工作let obj = api.object1('param1').object2('param2')//{ object1: {params: 'param1'}, object2: {params: 'param2'}}

我可以手动设置 api 类中的所有方法,但这不是我要寻找的解决方案。我希望能够初始化所有模块并将它们动态附加到 api 类,将所有参数传递给模块并在输出中生成对象,这有点反映了上面的示例。

它完全可以实现吗?或者也许有人认出了这种模式并且知道它叫什么,以便我可以进一步研究它?我尝试使用代理来实现这一点,但没有成功。

标签: javascriptnode.js

解决方案


推荐阅读