Skip to content

在 TS 中定义 window 对象扩展属性

​ 当我们想给项目挂载一个全局 API 时,尝尝都是把他挂载到 window 上去,这样我们就可以随时随地的调用。在 js 里只需要获取到 window 然后给他添加一个属性即可。但是在 ts 中由于 Window 的类型定义不包含我们自定义属性,所以需要额外的扩展声明。

​ 在项目中创建 types 文件,并创建 index.d.ts 文件

ts
import type { MessageApi } from "naive-ui";
export {};

declare global {
  interface Window {
    /**
     * naive-ui的消息组件api
     */
    $message: MessageApi;
  }
}
import type { MessageApi } from "naive-ui";
export {};

declare global {
  interface Window {
    /**
     * naive-ui的消息组件api
     */
    $message: MessageApi;
  }
}