location.hostname возвращает ноль или [Object% 20object] в угловом положении при построении производственного режима - PullRequest
0 голосов
/ 02 ноября 2018

У меня проблема с моим угловым приложением. когда я пытаюсь собрать с параметром --prod (это означает, что aot имеет значение true) location.hostname, которое есть в моем коде, возвращает null, и я не могу взаимодействовать с моим API.

Теперь я прочитал, потому что мне нужно использовать фабрику, чтобы мой код выполнялся только во время выполнения, но я не уверен, как это сделать.

Ниже кода, который я использовал, который не работает, потому что мой URL выглядит так:

http://ipaddress/path/[Object%20object]/path/path/path/path/api/login/

[...]

const REDIRECT_URI = new InjectionToken<string>('REDIRECT_URI');

export function redirectUriFactory() {
  //return `${location.host}`;
  return window.location.host;
}


[...]


@NgModule({
  imports: [
    CommonModule,
  ],
  exports: [
    NbAuthModule,
  ],
  declarations: [],
})
export class CoreModule {
  constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
    throwIfAlreadyLoaded(parentModule, 'CoreModule');
  }

  static forRoot(): ModuleWithProviders {
    return <ModuleWithProviders>{
      ngModule: CoreModule,
      providers: [
        ...NB_CORE_PROVIDERS,
       {provide: REDIRECT_URI, useFactory: redirectUriFactory}
      ],
    };
  }
}

[...]



const NB_CORE_PROVIDERS = [
  ...DataModule.forRoot().providers,
  ...NbAuthModule.forRoot({
    providers: {
      email: {
        service: NbEmailPassAuthProvider,
        config: {
          delay: 0,
          token: { key: 'token' },
          logout: {
            endpoint: ''
          },
          login: {
            rememberMe: true,
            alwaysFail: false,
            endpoint: 'http://' + REDIRECT_URI +'/path/path/path/path/api/login/',
            method: 'post',
            redirect: {
              success: '/',
              failure: null,
            },
          },
        },
      },
    },
    [...]

любая помощь будет очень ценится

...