0
我需要使用init()函數在第一次調用時初始化一個全局變量的「標記」。如何在打字稿中初始化一個全局變量
Q1。我如何使用init()初始化變量?在TypeScript中初始化全局變量的最佳做法是什麼? Q2302。由於這個變量是從json文件初始化的,我怎樣才能在應用程序的生命週期中只初始化一次呢?所以如果我在不同的文件中導入這個變量,我不想再讀取json文件。
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));
}
}
客戶端代碼:
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++)
...
我很感激,如果你能給我一個想法或創造全球最佳模式或靜態模塊變量,它們將被初始化一次,但可以在TypeScript中的不同文件中使用。