我有一组正在编译并运行浏览器窗口的打字稿文件。
然后,我想在Typescript中编写一组将在Node环境中运行的测试,这需要模拟任何窗口API。
我找不到一个干净的方法来使用Typescript,通常最后用
找不到名称'location'。
我尝试定义位置,但是当我声明接口而不是实例(我想在每个测试中存根)时仍然没有任何乐趣。
'location'仅指类型,但在此处用作值。
6 if(location.origin ===
关于如何/应该如何做的任何想法?
答案 0 :(得分:0)
尝试在代码中使用window.location
而不是location
。 Typescript包含一个库(dom),它具有Window
对象实现的类型window
。
lib.dom.d.ts文件的摘录:
interface Window extends EventTarget, WindowTimers, WindowSessionStorage, WindowLocalStorage, WindowConsole, GlobalEventHandlers, IDBEnvironment, WindowBase64, GlobalFetch {
...
readonly location: Location;
...
}
之后,我假设您可以模拟window
对象。