我通过显式设置属性来为我的对象设置全局命名空间window.
window.MyNamespace = window.MyNamespace || {};
Run Code Online (Sandbox Code Playgroud)
TypeScript强调MyNamespace并抱怨:
属性'MyNamespace'在'window'类型的值上不存在任何"
我可以通过声明MyNamespace为环境变量并删除window显式来使代码工作,但我不想这样做.
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
Run Code Online (Sandbox Code Playgroud)
我怎样才能window留在那里让TypeScript开心?
作为旁注,我发现TypeScript抱怨特别有趣,因为它告诉我这种window类型any绝对可以包含任何东西.
我正在查看TypeScript手册,我似乎无法找到答案.
如果我使用的库不存在任何类型,我有哪些选择?
一个是创建打字文件,但我真的不想这样做.
我有什么其他选择,我似乎记得某种'declare'关键字?
或者tsconfig中有什么东西?
我假设有一种方法可以全局声明这个变量(类型),所以每次使用它时,它都会起作用.
而且我认为有一种方法可以宣称它只在一个文件中可用.
当然最好的方法是包含一个打字文件,但这并不总是可用的.