Quantcast
Channel: 黑暗執行緒
Viewing all articles
Browse latest Browse all 2311

jQuery TypeScript定義檔2.2.3無法編譯

$
0
0

使用NuGet更新全部套件後,jQuery定義檔出現TypeScript編譯錯誤:

Error    545    Interface 'JQueryPromise<T>' incorrectly extends interface 'JQueryGenericPromise<T>'.
  Types of property 'then' are incompatible.
    Type '(doneCallbacks: any, failCallbacks: any, progressCallbacks?: any) => JQueryPromise<T>' is not assignable to type '{ <U>(doneFilter: (value?: T, ...values: any[]) => U | JQueryPromise<U>, failFilter?: (...reasons...'.
      Type 'JQueryPromise<T>' is not assignable to type 'JQueryPromise<void>'.
        Type 'T' is not assignable to type 'void'. 

檢查發現jQuery TypeScript定義檔被更新到2.2.3版,是這幾天(3/24)才推出的,莫非如上次事件與TypeScript新版有關?檢查TypeScript 1.4 for VS2013在1/16之後並無更新,先排除TypeScript套件未更新因素。

懷疑新版定義檔有Bug,但爬文未發現有人反應類似狀況(2.2.3截至目前下載量不到800次,可能發現問題的人還不多)。

使用Package Manager Console下指令Install-Package jquery.TypeScript.DefinitelyTyped -Version 2.2.2強制裝回2.2.2版(套件名稱及版號不用強記,按Tab會有提示),問題消失!順手將問題回報到Github,先以降版做為暫時解決方案。


Viewing all articles
Browse latest Browse all 2311

Trending Articles