jQuery TypeScript定義檔2.2.3與KendoUI定義檔不相容
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,先以降版做為暫時解決方案。
Comments
Be the first to post a comment