typescript - Constante Statice: cum?
Încerc să creez un fișier de constante într-o aplicație TypeScript. Ideea este că atunci când este apelat ServiceConstants.AUTH_SERVICE_TOKEN, acesta va returna un obiect token opac.
Am încercat două implementări:
ServiceConstants.ts ca un namespace
export namespace ServiceConstants {
export const AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');
}
ServiceConstants.ts ca o clasă
export class ServiceConstants {
public static AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');
}
Totuși, dacă apelez acest obiect, obțin un
Eroare TypeError neintreruptă: Nu se poate citi proprietatea 'AUTH_SERVICE_TOKEN' din indefinit
Cum pot inițializa AUTH_SERVICE_TOKEN astfel încât să pot pur și simplu să apelez ServiceConstants.AUTH_SERVICE_TOKEN fără a fi nevoie să inițializez variabila și fără a fi nevoie să creez un obiect nou? Am crezut că spațiul de nume ar fi fost suficient, dar se pare că nu este.
Noroc
JT
Răspuns #1
Modul în care TypeScript tratează acest lucru este că este necesar să scrieți ServiceConstants.ts nici ca o clasă, nici ca un spațiu de nume. Pur și simplu un fișier cu următoarea linie unică este suficient:
ServiceConstants.ts
export let AUTH_SERVICE_TOKEN: OpaqueToken = new OpaqueToken('AuthService');
Apoi, în fișierul care apelează, pur și simplu
somefile.ts
import {AUTH_SERVICE_TOKEN} from './ServiceConstants';
console.log(AUTH_SERVICE_TOKEN);
Sper că te ajută
JT
