打字稿科尔多瓦接口抛出参考错误“的ReferenceError:科尔多瓦没有定义”

打字稿科尔多瓦接口抛出参考错误“的ReferenceError:科尔多瓦没有定义”

问题描述:

我有一个非常简单d.ts映射是这样的:打字稿科尔多瓦接口抛出参考错误“的ReferenceError:科尔多瓦没有定义”

interface CordovaClass { 
    exec(success:Function, error:Function, ...rest:any[]); 
} 

declare var Cordova:CordovaClass; 

我随后参考在NativeCordova.ts:

/// <reference path="../lib/cordova.d.ts" /> 

然而,当我打电话下面在同一个文件:

Cordova.exec(success, error, tag, command, params); 

浏览器引发此错误:

Uncaught ReferenceError: Cordova is not defined 

相当新的映射,但从我可以告诉从其他映射(如jquery.d.ts)这应该是工作。

任何帮助将不胜感激。 :)

更新

我能够通过声明VAR用小写的 'C' 得到这个工作:

declare var cordova:CordovaClass; 

,然后调用它的方式:

cordova.exec(success, error, tag, command, params); 

这是因为这是cordova用来引用自己的变量,很像jQuery d.ts所做的。

* exec不是一个真正的电话,你可以用科尔多瓦,但这不是我遇到的问题。

+0

值得一提的是你可以在这里获得phonegap类型定义:https://github.com/borisyankov/DefinitelyTyped/blob/master/phonegap/phonegap.d.ts – basarat 2013-04-10 00:57:41

TypeScript定义文件只是告诉编译器应该已经存在的内容。在运行时,您需要通过主机的任何脚本加载机制(例如,在浏览器中,<script>标记)来呈现Cordova实现。

+1

啊,我明白你的意思了。我确实包括了脚本,但是这种理解让我意识到,由于我宣称科尔多瓦用作自己的参考的变量,因此不应该将cordova大写。 – 2013-04-09 20:08:41