当前位置 : 主页 > 手机开发 > cordova >

将TypeScript与PhoneGap / Cordova插件配合使用

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在遇到一些障碍,因为我想开始使用 Google Analytics Cordova plugin,但我正在使用TypeScript编写所有的javascript资源.以下是我遇到的具体问题的一个很好的例子: window.plugins.googleAnalyticsPlug
我正在遇到一些障碍,因为我想开始使用 Google Analytics Cordova plugin,但我正在使用TypeScript编写所有的javascript资源.以下是我遇到的具体问题的一个很好的例子:

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;
}
网友评论