将TypeScript变量公开到JS全局范围(使用webpack)

时间:2020-04-18 08:19:34

标签: javascript typescript webpack

我正在使用webpack将TypeScript编译为Javascript,我想将变量公开给全局范围,以便其他人可以访问它。

我知道如何在TypeScript中执行以下操作

window["MyVariable"] = 'Hello';

像这样用JavaScript读取

console.log(window.MyVariable);

但是我希望能将其放在这样的全球范围内。

console.log(MyVariable);

这可能吗?

最好的问候, 尼克

2 个答案:

答案 0 :(得分:1)

当然可以做到; TS只是增加了类型安全性(并根据目标ES版本进行了一些翻译)。

由于window是浏览器中的全局对象,因此向其中添加成员可以使其在全局范围内可用。

根据严格性设置(例如,禁止隐式any),您可能会遇到编译器错误,但这很容易解决:

(window as any).MyVariable = 'Hello';

答案 1 :(得分:1)

JavaScript中无需使用window.就可以访问全局范围内存在的任何内容。因此,如果您设置了window['MyVariable'] = 'Hello',则只需使用MyVariable就可以用JavaScript对其进行访问。