最佳答案
我通过显式地在window上设置属性来为对象设置全局名称空间。
window.MyNamespace = window.MyNamespace || {};
TypeScript强调MyNamespace,并抱怨:
属性“MyNamespace”在类型为“window”的值上不存在任何“< / p >
我可以通过声明MyNamespace作为环境变量并删除window显式来使代码工作,但我不想这样做。
declare var MyNamespace: any;
MyNamespace = MyNamespace || {};
我如何保持window在那里,让TypeScript高兴?
作为旁注,我发现特别有趣的是TypeScript抱怨,因为它告诉我window是any类型,而any类型肯定可以包含任何东西。