Не удается разрешить все параметры для MyComponent

Abner Juarez спросил: 12 мая 2018 в 04:13 в: angular

Я развивался в Angular, и я обнаружил странную проблему:

Неиспользуемая ошибка: не удается разрешить все параметры для MyComponent: ([objectObject],?,?, [object Object], [object Object], [object Object]).

Стоит сказать, что зависимости, которые отображаются как "?", это только услуги, сделанные мной, другие - угловые объекты или сторонние стороны, и это происходит во всем моем проекте, только в моих зависимостях.

Я уже прочитал почти все, что я" я нашел в google, я уже рассмотрел известные проблемы круговых зависимостей и импорта баррелей.

Другие вещи, которые вы должны знать:

  • Зависимости, которые не работают, размещены в собственном проекте и опубликованы в моем локальном / собственном / приватном репозитории npm.
  • Я бы опубликовал эти зависимости через gulp, используя npc.
  • Я не используя aot.
  • @angular/cli: "1.7.4"
  • @angular: "^5.2.6"

Я действительно подозреваю о метаданных, но Я не нахожу ничего внутри node_modules / myDependency /, что дает мне представление о поврежденных или отсутствующих метаданных.


1 ответ

cgTag ответил: 12 мая 2018 в 04:22

Uncaught Error: не удается разрешить все параметры для MyComponent: ([Object Object],?,?, [object Object], [object Object], [object Object]).

Службы, определенные ?, должны быть добавлены в providers раздел NgModule, который предоставляет эти службы.

Abner Juarez ответил: 12 мая 2018 в 04:31
Они в поставщиках, я обещаю. Еще одна вещь, которая может вам помочь: когда я украшаю свои зависимости с помощью @Inject (MyClass) myClass: MyClass, он работает, но я не хотел бы отмечать каждое место, где я использую MyClass с @Inject, мне кажется, что я грязный обходной путь, я уверен, что есть что-то еще плохое, но я не могу понять, что это такое
cgTag ответил: 12 мая 2018 в 04:35
@AbnerJuarez вы вводите услугу из одного приложения, или это из внешней библиотеки (например, как модуль из Material Angular)?
Abner Juarez ответил: 12 мая 2018 в 04:45
Позвольте мне дать вам больше контекста. У меня много небольших репозиториев, управляемых с Lerna, например, у меня есть репо, называемое @ byte / ng-security, там у меня есть служба под названием SecurityService. Затем у меня есть другое репо, называемое @ byte / ng-components, где у меня есть еще одна служба CustomerSearchService, эта служба использует SecurityService из @ byte / ng-security. В @ byte / ng-components у меня есть модуль CustomerSearchModule, там у меня есть SecurityService и ClientSearchService в качестве поставщиков в декораторе. Ошибка возникает, когда я импортирую ClientSearchModule в выполняемые проекты.
cgTag ответил: 12 мая 2018 в 05:01
Возможно, вам потребуется экспортировать ClientSearchModule любые импортированные им модули. Чтобы эти модули были перенаправлены на любые модули, которые его импортируют.
Abner Juarez ответил: 12 мая 2018 в 06:27
Я попробую, но у меня есть подозрения, потому что, как и случай @Inject, я бы упомянул вам, он просто работает, где я делаю изменения и, вероятно, терпит неудачу в другом месте