我很抱歉這個問題,因爲我知道答案已經在某處存在,但我不認爲我有一個深刻的足夠的理解Typescript甚至知道我應該尋找什麼。我應該把打字稿定義以及如何編寫它們當對象已經有一個定義
我的問題是,我已經加入typeahead
稱爲一個jQuery插件以及命名bound
窗口對象,它是對我的C#包裝應用上傳達一個全局變量。
這些項目導致錯誤,當我編譯,我想擺脫錯誤的,所以我應該怎麼辦?我想,也許我應該對這些項目產生的定義,但我無法找到該怎麼做任何文件,因爲jquery
已經有一個定義,因爲我是從typings
安裝jquery
定義,它可能出現的window
對象也有一個定義。
下面是我得到的錯誤:
Property 'typeahead' does not exist on type 'JQuery'.
Property 'bound' does not exist on type 'Window'.
那麼,我該怎麼辦,使錯誤停止?如果我應該寫定義,定義在哪裏去了,以及如何爲已經有定義的對象編寫定義?
我試圖使我的項目的根稱爲index.d.ts
文件,但只要我創建了一個文件,裏面有沒有代碼,我得到這個錯誤:
WARNING in ./src/index.d.ts
Module build failed: Error: Debug Failure. False expression: Output generation failed
我嘗試添加接口報表,模塊聲明語句和名稱空間聲明語句,並且沒有任何東西可以使錯誤消失。文件名是否錯誤?該文件是否應該在某個位置?
我已閱讀此處的文檔:https://www.typescriptlang.org/docs/handbook/writing-declaration-files.html 但我看不到任何有關定義的位置,或者如何編寫已存在對象的定義。
預先感謝任何幫助任何人都可以給。
編輯
絕對類型的,也不分型包含了我使用的預輸入庫定義,也爲全球bound
對象我創建。我需要了解如何手動擺脫這些錯誤。
DefinitelyTyped沒有爲我使用的鍵盤緩衝庫的定義,它也沒有爲我創造了全球'bound'對象定義。 –
您使用的是哪種版本的typeahead,或者您是否需要定製的定義文件?我放的鏈接是0.11.1。至於聲明全局對象,打字稿1.8 [增大全球範圍內]添加了(https://www.typescriptlang.org/docs/release-notes/typescript-1.8.html#augmenting-globalmodule-scope-from-modules) ,這聽起來像你在找什麼。 – SilentLupin
我正在使用名爲bootstrap-3-typeahead,版本4.0.1的庫。您放入的鏈接是名爲「Twitter Typeahead」的圖書館。 –