Typescript全局变量

Typescript全局变量,typescript,global-variables,Typescript,Global Variables,我正在努力理解在Typescript中跨多个文件公开变量的正确方法。我已经阅读了一些关于StackOverflow的现有问题,但许多问题似乎是针对旧版本(1.0)的Typescript 考虑到我有一个使用lerna编译了多个包的项目,并且在包common中,我想声明一个变量token,它可以被其他包中的文件读/写,我应该怎么做呢?考虑到您仍然在使用模块,与真正的全局变量相比,使用从模块导出的变量的痛苦可能要小得多。因为TypeScript将导入本身视为只读(与ECMAScript一致),所以不能

我正在努力理解在Typescript中跨多个文件公开变量的正确方法。我已经阅读了一些关于StackOverflow的现有问题,但许多问题似乎是针对旧版本(1.0)的Typescript


考虑到我有一个使用lerna编译了多个包的项目,并且在包
common
中,我想声明一个变量
token
,它可以被其他包中的文件读/写,我应该怎么做呢?

考虑到您仍然在使用模块,与真正的全局变量相比,使用从模块导出的变量的痛苦可能要小得多。因为TypeScript将导入本身视为只读(与ECMAScript一致),所以不能只导出变量,而让其他模块直接写入。相反,您可以导出对象并使用该对象的(可写)属性来保存令牌。例如:

// common/index.ts
export const tokenHolder = {token: undefined};

// another file
import { tokenHolder } from "common";
tokenHolder.token = "foo";
console.log(tokenHolder.token);
如果这不是你想要的,请澄清问题