Awilix: не удается разрешить подкласс с помощью жестко закодированных параметров конструктора базового класса

#node.js #dependency-injection #inversion-of-control #ioc-container #awilix

#node.js #внедрение зависимостей #инверсия управления #ioc-контейнер #awilix

Вопрос:

Я использую библиотеку awilix для достижения DI в моем проекте nodejs express, в котором использовались ES6 и nodejs 12.x .

Допустим, у меня есть базовый класс и подкласс следующим образом

 class MyBaseClass {
    #collectionName;

    constructor(collectionName) {
        this.#collectionName = collectionName;
    }

    getCollection() {
        return this.#collection;
    }
}

class MySubClass extends MyBaseClass {
    constructor() {
        super("users");
    }
}
  

Я использую awilix.InjectionMode.Классический. Когда я пытаюсь разрешить и экземпляр MySubClass, я получаю ошибку разрешения, которая в основном гласит «Не удалось разрешить ‘collectionName'». MySubClass не нуждается в передаче параметров конструктора для создания экземпляра. Что я делаю не так?

Комментарии:

1. не могли бы вы также опубликовать код awilix?

2. Автор подтвердил, что это проблема github.com/jeffijoe/awilix/issues/198