обеспечение зависимости в корневом модуле для библиотечного модуля - PullRequest
0 голосов
/ 08 марта 2019

сценарий:

все, что я хочу сделать, - это предоставить меч (реализующий IWeapon), который определен в корневом приложении, для компонента воина через DI.где компонент воина определен в проекте библиотеки, а параметр, принимаемый компонентом воина, имеет тип IWeapon, который также определен в проекте библиотеки воина

Обновление: у меня все компилируется, выполняя следующее, однако, когда вконсоль браузера жалуется «нет поставщика, найденного для оружия»:

Проект библиотеки воинов:

export class Weapon {
 strike(): Promise<Pain> { return null; }
}

Конструкция компонента Воин (личное оружие: оружие) {...

Воин имеет модульпустой массив провайдеров.

Я собираю и упаковываю модуль воина и npm устанавливаю его в RootApplication. В корневом приложении есть служба Sword:

@Injectable()
export class Sword extends Weapon { 
     strike(): Promise<Pain> { 
         return "a lot `of pain";
    } 
 }

В модуле приложения корневого приложения определен поставщикнапример:

providers: [ { provide: Weapon, useClass: Sword } ]

Обновление: если я изменю конструктор корневого приложения.модуль как таковой: конструктор (личное оружие: оружие) и если установить точку останова в этом конструкторе, то в инструментах отладки я смогу увидеть это оружиеуспешно решается DI, однако, в модуле оружияNent DI не может разрешить эту зависимость.Это очень странно.

...