Подтвердить что ты не робот

Ошибка: "Невозможно разрешить все параметры для e: (?)".

У меня такая ошибка после развертывания на github-страницах с angular -cli:

Ошибка: "Не удается разрешить все параметры для e: (?)."

Локальное приложение работает. Какие шаги вы бы рекомендовали сделать, чтобы найти место проблемы?

Пробовал angular -cli beta29 и beta30.

UPD: Я удалил маршрутизатор из приложения для тестирования. У меня нет только одного предположения, что это что-то с DI.

UPD2 (НАЙДЕН МЕСТО):

Проблема заключается в перезаписывании RequestOptions, так что:

export class RequestOptionsService extends RequestOptions {}

и для определения поставщика:

{ provide: RequestOptions, useClass: RequestOptionsService },

Это еще вопрос для меня.

  • не перезаписывать конструктор RequestOptions - ошибка.
  • перезаписать конструктор RequestOptions с пустым параметром - без ошибок
  • перезаписать конструктор RequestOptions с параметрами - ошибка

Вот как я перезаписываю конструктор:

constructor(options?: RequestOptionsArgs) {
  super(options);
}

Что здесь может быть неправильным?

UPD3 (разрешенный собственный случай):

Проблема действительно была с RequestOptions, поэтому вы не должны делать:

export class RequestOptionsService extends RequestOptions {}

но только:

export class RequestOptionsService extends BaseRequestOptions {}
4b9b3361

Ответ 1

Убедитесь, что:

  • у вас есть "emitDecoratorMetadata": true в tsconfig.js
  • каждая служба не пропущена @Injectable() decorator Конструктор компонентов
  • вводит ваши услуги (передайте их как параметры)

Ответ 2

Официальный пример:

 class MyOptions extends BaseRequestOptions {
   search: string = 'coreTeam=true';
 }

 bootstrap(App, [HTTP_PROVIDERS, {provide: RequestOptions, useClass: MyOptions}]);

Фактически, export class RequestOptionsService extends RequestOptions {} также должен отлично работать. Возможно, это специальная проблема angular -cli (я могу сделать это при настройке).

Если ваша служба имеет необязательный параметр, то @Injectable() является обязательным. Также должны быть предоставлены параметры (RequestOptionsArgs в вашем случае) или помечены как @Optional().