@types/jquery $ 型態問題

之前在 angular 中使用 jquery 時, 習慣將 $ 的型態宣告為 any ( declare var $ : any) ,
最近新增了一個新modules (angular2-fullcalendar) 他的 dependencies 使用了 @type/jquery ,其中將 $ 宣告為
JQueryStatic (declare var $ : JQueryStatic),結果出現了以下錯誤

Subsequent variable declarations must have the same type. Variable '$' must be of type 'any', but her e has type 'JQueryStatic'.

有想過下面兩種方式

  1. 將之前宣告的 any 全部改為 JQueryStatic ,但這樣其他基於 jquery 所開發的 js 也會開始出錯 (如summernote .js 會出現Property ‘summernote’ does not exist on type ‘JQuery’ 的類似訊息)

  2. 將@type/jquery 裡面定義的 $ 修改為 any,但這樣只要重新install就必須處理一次

想請問是否還有其他解法,或遇過相同問題?

把 Summernote 的 TypeScript 定義檔加到專案內,不知道可不可以解決問題
TypeScript-Summernote

如果該 js 有定義檔的放進去是可以解決,如 jquery-flot這是可以的,但如果不是每個 js 都會有定義檔呢,這時候該怎麼處理?

可以在typings.d.ts 裡面自行定義。

好的!我再試試看!