私はSignalR私の角度5アプリケーションで使用しようとしています。
私はをDefinitelyTyped からこれらの強力な型指定されたインストール:私のpackages.json
に npm install --save @types/jquery
npm install --save @types/signalr
活字体をバージョン2.5.3 示しています。
今、私はこのようにそれを使用しようとしている:
import { Injectable } from '@angular/core';
@Injectable()
export class SignalRService {
constructor() {}
public ConnectTo(url: string): void {
var hubConnection = $.hubConnection();
var hubProxy = hubConnection.createHubProxy('DashboardHub');
hubProxy.on('Example', (e: any) => {
console.log('worked');
});
hubConnection.start();
}
}
コンパイラは、次のと文句を言う:
error TS2304: Cannot find name '$'.
...インテリセンスが$.hub
を見つけることができるにもかかわらず:
ファイルにdeclare var $ :any;
を追加しようとするとコンパイルされますが、ブラウザのコンソールに別のエラーが表示されます:$.hubConnection is not a function
。
何か不足していますか?これらの手順を実行する必要があり
あなたはまだ$を宣言していませんでした:[別のスレッドへの参照](https://stackoverflow.com/Question/43934727/how-to-use-jquery-plugin-with-angular-4) –
@ JanSomersJanS91これはこれを行う古い方法だと思っていましたが、DefinitelyTypesはこれをもう必要ないようにしました。とにかく、それを追加すると '$ .hubConnectionは関数ではありません。 'というメッセージが表示されます。 – Alisson
奇妙なことにはうまくいかないと思うかもしれません。おそらくあなたは[this](https://stackoverflow.com/a/46113678/7018180) –