Hur kan jag extrahera mina AngularJS-konstanter till en Typescript-funktion?


Min kod har följande:

.service('testService', TestService)
.service('userService', UserService)
.constant("appConstant", {
    appName: "My App",
    appVersion: 2.0,
    baseUrl: "http://localhost:3048",
    Action: {
        None:0,
        Registering: 1,
        Authenticating: 2
    }
});

Finns det ett sätt jag kan extrahera det konstanta objektet till en annan .ts-fil och inkludera det?

Svar #1

Ja. Du kan ha konfigurationen i en extern fil. Det enklaste sättet skulle vara att göra något liknande detta:

class Constants
{
    static get Default():any {
        return {
            appName: "My App",
            appVersion: 2.0,
            baseUrl: "http://localhost:3048",
            Action: {
                None:0,
                Registering: 1,
                Authenticating: 2
            }
        };
    }
}

Och sedan kan du komma åt det via Constants.Default. Så din konstantmetod i Angular skulle se ut så här:

.constant("appConstant", Constants.Default);

Ett mer TypeScript-sätt skulle vara att returnera typer istället för objektet i default()-gettern. Så du kan gå vidare och refaktorera mitt exempel för att göra det om du vill.

Relaterade artiklar