Ich muss "Token" eine globale Variable, die beim ersten Aufruf mit der Funktion init() initialisiert werden.So initialisieren Sie eine globale Variable nur einmal in Typoskript
Q1. Wie kann ich die Variable mit init() initialisieren? Was ist die beste Vorgehensweise zum Initialisieren einer globalen Variablen in TypeScript?
Q2. Da diese Variable aus einer JSON-Datei initialisiert wird, wie kann ich sie NUR während der Laufzeit meiner Anwendung initialisieren? Wenn ich diese Variable in verschiedene Dateien importiere, möchte ich die JSON-Datei nicht erneut lesen.
export var tokens: Token[] = [];
function init() {
if (tokens) return; // already initialized
let tokensJson = fs.readFileSync("./lib/data/tokens.json", "utf8");
let tokensData = JSON.parse(tokensJson);
for (var i = 0; i < tokensData.length; i++) {
tokens.push(new Token(tokensData[i].name, tokensData[i].type));
}
}
Client-Code:
file1.ts
import { tokens } from "./tokens";
for (var i = 0; i < tokens.length; i++)
...
file2.ts
import { tokens } from "./tokens";
for (var i = 0; i < tokens.length; i++)
...
ich wirklich schätzen, wenn Sie eine Idee geben könnte mir oder beste Muster global zu schaffen oder statische Modulvariablen, die einmal initialisiert werden, aber aus verschiedenen Dateien in TypeScript verwendet werden können.