我正在遇到一些障碍,因为我想开始使用 Google Analytics Cordova plugin,但我正在使用TypeScript编写所有的javascript资源.以下是我遇到的具体问题的一个很好的例子: window.plugins.googleAnalyticsPlug
          window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x"); 
 window.plugins上的TypeScript balks,抛出了编译错误:
The property ‘plugins’ does not exist on value of type ‘Window’.
这完全合情合理.但是,我无法通过使用declare var窗口解决这个问题.声明,因为它为窗口创建了重复的标识符.
第一步是扩展Window界面,你可以这样做:interface Window {
    plugins: any;
} 
 这意味着没有编译器错误,但除非你扩展定义,否则意味着没有自动完成.所以这条线现在可以工作:
window.plugins.googleAnalyticsPlugin.startTrackerWithAccountID("UA-xxxxxxx-x"); 
 为了使事情变得更好并且让自己完成一些自动完成(并且还要检查拼写),您可以使用此扩展版本的定义.
interface GoogleAnalyticsPlugin {
    startTrackerWithAccountID(accountId: string): void;
}
interface Plugins {
    googleAnalyticsPlugin: GoogleAnalyticsPlugin;
}
interface Window {
    plugins: Plugins;
}
        
             