【发布时间】:2018-02-07 10:27:34
【问题描述】:
我正在使用 Mocha/Chai 进行单元测试,并且正在模拟 window 如下:
global.window = { innerHeight: 1000, innerWidth: 1000 };
可以理解,TSLint 抱怨说:
“全局”类型上不存在属性“窗口”
几个问题...Global 是内置的 NodeJS/Typescript 类型吗?我目前正在使用文件顶部的declare var global 来消除警告...但这是处理此问题的最佳方法吗?我注意到我还可以通过以下方式解决警告:
declare global {
namespace NodeJS {
interface Global {
window: any;
}
}
}
最好我想扩展现有的Global 类型,使其也接受window 属性。谢谢。
【问题讨论】:
-
你也可以在TS中这样引用
window对象:(<any>window)。恕我直言,不漂亮,但确实抑制了警告 -
我认为合并你正在做的声明没有任何问题......也许我建议将其设为
{window: Window}而不是{window: any},但这取决于你。跨度>
标签: javascript node.js typescript