angular - Konsolfel då slutpunkt är otillgänglig och applikationen misslyckas med att ladda


Jag har uppgraderat Angular 5 till 7 och behållit rxjs-compat. Applikationen fungerade bra i detta fall, men senare tog vi bort rxjs-compat och gjorde respektive ändringar. Och vi får fel vid laddning av applikationen som "Endpoint unreachable" vid uppstart av applikationen. Vi använder

"@ngx-config/core": "7.0.0",
"@ngx-config/http-loader": "7.0.0",

Jag misstänker att detta paket skapar problem efter uppgraderingen. Men kompileringen lyckas, det är först när applikationen körs som det visas ett konsolfel om att slutpunkten är oåtkomlig. Har någon annan stött på dessa problem eller har någon idé om hur man felsöker den här typen av problem.

All hjälp kommer att uppskattas

REDIGERA

Efter ytterligare analys upptäckte jag att detta fel uppstod på grund av @ngx-config-uppdateringen, och har inget att göra med rxjs-compat.

// for config loader
export function configFactory(http: HttpClient): ConfigLoader {
  return new ConfigHttpLoader(http, environment.configFile);
} 

Interceptor

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { 
//etc
})

Svar #1

Jag försökte många tillvägagångssätt som nämns på GitHub och SO, inget fungerade för mig. Det sista jag gjorde för att få det att fungera är,

Att kalla på config i huvud .ts innan applikationen startar och sätta den i sessionslagring, du kan skapa en klassfil och göra din logik där också.

const url = "configurl"// read from your environment file
const xmlHttp = new XMLHttpRequest();
      xmlHttp.onreadystatechange = () => {
        if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {
          if (xmlHttp.responseText) {
            const config: any = JSON.parse(xmlHttp.responseText);
            if (config) {
             window.sessionStorage.setItem("config", JSON.stringify(config));

            }
        }
      };
      xmlHttp.open("GET", url, true);
      xmlHttp.send(null); 

Appmodul

export function configFactory(http: HttpClient): ConfigLoader {
  return new ConfigStaticLoader(JSON.parse(window.sessionStorage.getItem("config")));
} 

Och detta fungerar bra för mig.

Det ursprungliga problemet var att jag inte kan använda konfigurationsladdare och HTTP-interceptor tillsammans.