我正在使用webpack将TypeScript编译为Javascript,我想将变量公开给全局范围,以便其他人可以访问它。
我知道如何在TypeScript中执行以下操作
window["MyVariable"] = 'Hello';
像这样用JavaScript读取
console.log(window.MyVariable);
但是我希望能将其放在这样的全球范围内。
console.log(MyVariable);
这可能吗?
最好的问候, 尼克
答案 0 :(得分:1)
当然可以做到; TS只是增加了类型安全性(并根据目标ES版本进行了一些翻译)。
由于window
是浏览器中的全局对象,因此向其中添加成员可以使其在全局范围内可用。
根据严格性设置(例如,禁止隐式any
),您可能会遇到编译器错误,但这很容易解决:
(window as any).MyVariable = 'Hello';
答案 1 :(得分:1)
JavaScript中无需使用window.
就可以访问全局范围内存在的任何内容。因此,如果您设置了window['MyVariable'] = 'Hello'
,则只需使用MyVariable
就可以用JavaScript对其进行访问。