2013-04-09 84 views
0

我有一個非常簡單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

回答

2

TypeScript定義文件只是告訴編譯器應該已經存在的內容。在運行時,您需要通過主機的任何腳本加載機制(例如,在瀏覽器中,<script>標記)來呈現Cordova實現。

+1

啊,我明白你的意思了。我確實包括了腳本,但是這種理解讓我意識到,由於我宣稱科爾多瓦用作自己的參考的變量,因此不應該將cordova大寫。 – 2013-04-09 20:08:41