在 JavaScript 中,我可以这样做:
something = 'testing';
然后在另一个文件中:
if (something === 'testing')
并且它将定义 something
(只要它们以正确的顺序调用)。
我似乎无法弄清楚如何在 TypeScript 中做到这一点。
这是我尝试过的。
在 .d.ts 文件中:
interface Window { something: string; }
然后在我的 main.ts 文件中:
window.something = 'testing';
然后在另一个文件中:
if (window.something === 'testing')
这有效。但我希望能够失去 window.
的一部分,而让我的 something
成为全球性的。有没有办法在 TypeScript 中做到这一点?
(如果有人感兴趣,我真的想为我的应用程序设置日志记录。我希望能够从任何文件调用 log.Debug
而无需导入和创建对象。)
原文由 Vaccano 发布,翻译遵循 CC BY-SA 4.0 许可协议
好的,所以这可能比你所做的更丑陋,但无论如何……
但我也这样做……
您可以在纯 TypeScript 中执行此操作,即使用
eval
函数,如下所示:以后你就可以做
这只不过是在没有 TypeScript 拒绝编译的情况下强制执行指令的 hack,我们
declare var
让 TypeScript 编译其余代码。