我在使用Angular2-Typescript應用程序中的signalR時遇到了問題。我在之前的Angular 1應用程序中工作得很好。我的問題是與導入。Angular2(Typescript)中的SignalR - 導入錯誤
我有intellisense工作,但強大的打字似乎沒有正確映射到原始js文件。
在node_modules,我有這兩個文件夾(在此編輯的空間):
├───jquery
│ │ jquery.d.ts
│ │ LICENSE.txt
│ │ package.json
│ │ README.md
│ │
│ ├───dist
│ │ core.js
│ │ jquery.js
│
└───signalr
jquery.signalR.js
jquery.signalR.min.js
package.json
signalr.d.ts
的jquery.d.ts文件是這個: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/jquery/jquery.d.ts
的signalr.d.ts文件這是一個: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/signalr/signalr.d.ts
注意:我已經編輯了signalr.d.ts在結尾處添加這個,否則我不能導入它:
declare var sr : JQueryStatic;
declare module 'signalr'{
export = sr;
}
在我使用它來導入signalr systemjs.config.js:
map: {
'signalr': 'npm:signalr/jquery.signalR.js'
}
然後在我的組件使用:
import * as $ from 'signalr'
我再有機會獲得智能感知,爲例如:
但是,有問題。如果我使用:
console.log($.hubConnection);
我弄不明白。
任何幫助,將不勝感激。
這個工作。謝謝。在systemjs.config中,我將它指向'jquery/dist/jquery.js',並且在組件中選擇'轉到定義'時,我將其帶入文件:jquery.d.ts。 PS。我之前修改了package.json文件以包含類型引用:「typings」:「./jquery.d.ts」。 – Sparked
不客氣。當然,你應該指向'jquery/dist/jquery.min.js'和typings.json'''jquery「:」registry:dt/jquery#1.10.0 + 20160929162922「, 」signalr「:」registry:dt /signalr#2.2.0+20160509082439" '。對不起,我很着急 – user3506588