![](/img/trans.png)
[英]Typescript error: Property '_myApiUrl' does not exist on type 'Window'
[英](Typescript) Property 'window' does not exist on type 'Global'
我正在使用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
屬性。 謝謝。
Global
是內置的NodeJS / Typescript類型嗎?
是。 參見@types/node/index.d.ts
; 在該文件中,它們聲明一個NodeJS
命名空間,並在其中聲明一個Global
接口(正如您所做的那樣)。
我目前正在使用
declare var global
消除警告
聽起來好像您沒有安裝Node類型(這些類型包括declare var global: NodeJS.Global;
因此您不必自己進行任何此類聲明)。 跑:
npm install --save-dev @types/node
或者,如果您使用yarn
:
yarn add -D @types/node
最好,我想擴展現有的
Global
類型以也接受window
屬性。
您大部分都在那兒。 只需替換window: any;
帶window: Window;
。 注意:您將需要tsconfig.json
的lib
部分包含dom
來提供Window
界面。
您可能很快會發現,您還想擴充Global document
和navigator
(同樣,這兩個都是在dom
lib中定義的,因此需要它):
interface Global {
document: Document;
window: Window;
navigator: Navigator;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.