让TypeScript知道被加载的对象

Make TypeScript aware of loaded object

本文关键字:加载 对象 TypeScript      更新时间:2023-09-26

我正在尝试与谷歌分析做一些工作。你加载的google js将gapi变量添加到window dom对象中。

在编写代码时,TypeScript不会抱怨gapi不存在于window对象上。

我试图检测gapi文件是否加载,如果没有,然后从我的脚本动态加载它。

GAPI没有类型定义,我可以找到,所以我试图找出如何检查它加载到DOM。我已经能够通过Chrome和jQuery的控制台检查它的(非)存在,所以要么是一个选项。只是不知道如何在TypeScript中做到这一点,因为它根本不知道gapi

如果你没有使用谷歌分析js库。它返回window.gapigapi ref,供您在code/DOM

中使用。

要让TypeScript知道添加的内容,你可以使用:

interface Window {
    gapi: any;
}

或较短的:

declare var gapi: any;

您可以选择充实定义。

这应该允许你使用gapi,包括在你的检测脚本中:
if (typeof gapi === 'undefined') ...