сценарий:
все, что я хочу сделать, - это предоставить меч (реализующий 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 не может разрешить эту зависимость.Это очень странно.