Подключение условных поставщиков

#angular

#angular

Вопрос:

Я вроде как новичок в Angular. Недавно я присоединился к проекту, в котором перехватчики аутентификации были подключены условно, зависит от среды. Это хорошо сработало при компиляции JIT, но поскольку я пытаюсь переместить проект при компиляции AOT, авторизация завершается сбоем с ошибкой 401. Похоже, что перехватчик не работает

На самом деле я не понимаю, где копать, потому что environment.isSbrf возвращает false

 /*imports here*/

let providers: Array<any> = [
  { provide: AuthService, useClass: AgentAuthService },
  { provide: WorkflowStateService, useClass: AgentWorkflowStateService },
  /*other providers here*/
];

console.log(environment);

if (!environment.isSbrf) {
  providers.unshift({ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true });
  providers.unshift({ provide: HTTP_INTERCEPTORS, useClass: AuthAgentIdInterceptor, multi: true });
}

@NgModule({
  imports: [
    CommonModule,
    HttpClientModule,
    ServicesModule,
    FormsModule,
    ReactiveFormsModule,
    AuthModule,
    /*other modules here*/
  ],
  providers: providers,
  declarations: [
    /*components here*/
  ]
})
export class AgentModule { }

  

я ожидаю, что получу токен из локального хранилища в Auth interceptor, как я работаю с компиляцией JIT, но это не работает с AOT.

Ответ №1:

Я думаю, что это было решено убедитесь, что у вас установлена последняя версия angular см. Проблему в github https://github.com/angular/angular/issues/18293