2017-03-06 196 views
0

我正在摆脱我的程序中的大多数全局变量,但有些永远是有用的。无法用TypeScript声明全局变量

我已经看过了答案,这几次,放弃了寻找我自己的答案 - 宣布与TS一个全局变量的假设的方法是,像这样:

declare var x: string; 

这将转化为 - global.x = 'foo';

但是这个声明没有摆脱Webstorm中的编译错误或IDE警告。

在我的程序中声明全局变量的最佳方法是什么?我认为最好的办法是使用.d.ts文件。

这里是警告我看到类型:

enter image description here

回答

0

不知道这是做的最好的方式:

在我在我的项目文件名为 suman.d.ts

,我有:

import Global = NodeJS.Global; 

interface SumanGlobal extends Global { 
    _writeTestError: Function, 
    sumanRuntimeErrors: Array<Error | string>, 
    sumanOpts: Object, 
    sumanUncaughtExceptionTriggered: boolean 
} 

declare var global: SumanGlobal; 

似乎暂时工作