Avatar ·

如何在 TypeScript 中显式向全局对象 `window` 添加新属性?

大家好!我最近开始写 TypeScript,遇到了一个问题。需要将一些全局数据保存在 `window` 中,以便从不同模块访问。例如,我想添加自己的 `myAppConfig`: ```typescript window.myAppConfig = { apiUrl: 'https://api.example.com', debugMode: true }; ``` 但 TypeScript 报错: ``` Property 'myAppConfig' does not exist on type 'Window & typeof globalThis'. ``` 我明白 TypeScript 知道 `window` 的标准结构,并抱怨不存在的属性。如何正确声明新属性?我读过关于扩展接口的内容,但还没完全搞明白。请告诉我最简单且正确的方法。提前谢谢! <<>>

正确扩展 Window 接口

问题在于 TypeScript 对全局对象 window 有严格的类型化。要添加自己的属性,需要使用 声明合并 扩展现有的 Window 接口。