如何从构造函数内部扩展/升级ES6类?

时间:2019-05-01 11:28:07

标签: javascript node.js class oop extend

这是我的情况:

const myPluginFunctions = require('../my-plugin');

class a {
  constructor(config) {
    if(config.myPlugin) {
       // I want to extend that class with myPluginFunctions functions
       // dynamically (without registering them one by one)
    }
  }
}

更具体地说:

  • 我有一个简单的模块,可将数据存储到数据库(例如:用户)

  • 如果提供了某个配置,则模块应跟踪并行DB(userModelHistory)中DB(userModel)中的每个更改

  • 此“插件”具有以下功能:historyGetAllhistoryGetOnehistoryRecord,依此类推...

  • 实例化类时,我希望所有 history 函数在我的类中都可用,但是我不能使用扩展,这就是为什么我需要从构造函数

最后,这是`my-plugin.js的样子:


exports.historyGetAll = (originalItem) => {/*...*/};
exports.historyGetOne = (originalItem) => {/*...*/};
exports.historyRecord = (originalItem, lastUpdater) => {/*...*/};
/* ... */

有可能吗?我已经搜索过,但没有找到任何东西?

编辑:我已经读过this,并且有很多关于扩展课程的知识,但这不能回答我的问题

0 个答案:

没有答案