Ali*_*son 1 npm signalr typescript angular
我正在尝试在Angular 5应用程序中使用SignalR.
我从DefinitelyTyped安装了这些强类型:
npm install --save @types/jquery
npm install --save @types/signalr
Run Code Online (Sandbox Code Playgroud)
我的packages.json节目版本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();
}
}
Run Code Online (Sandbox Code Playgroud)
编译器抱怨如下:
error TS2304: Cannot find name '$'.
Run Code Online (Sandbox Code Playgroud)
...即使intellisense可以找到$.hub:
如果我尝试添加declare var $ :any;到我的文件,它会编译,但我在浏览器的控制台中收到另一个错误:$.hubConnection is not a function.
我错过了什么吗?
Ger*_*tas 10
要在Angular中使用SignalR,您需要执行以下步骤:
使用npm安装jquery,signalr包:
npm install signalr
npm install jquery
Run Code Online (Sandbox Code Playgroud)
添加类型:
npm install --save @types/jquery
npm install --save @types/signalr
Run Code Online (Sandbox Code Playgroud)
将脚本添加到angular-cli.json
"apps": [{
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/signalr/jquery.signalR.min.js"
],
}]
Run Code Online (Sandbox Code Playgroud)
在服务中你需要添加:
declare var $: any;
Run Code Online (Sandbox Code Playgroud)
简单的角度代码示例:
import { Injectable } from '@angular/core';
declare var $: any;
@Injectable()
export class SignalrService {
private connection: any;
private proxy: any;
private ulr: any;
constructor() {}
public startConnection(): void {
this.connection = $.hubConnection(this.url);
this.proxy = this.connection.createHubProxy('ProcessingHub');
this.connection.start().done((data: any) => {
console.log('Connected to Processing Hub');
this.sendMessage();
}).catch((error: any) => {
console.log('Hub error -> ' + error);
});
}
public sendMessage(): void {
this.proxy.invoke('SendMessage', 'test')
.catch((error: any) => {
console.log('SendMessage error -> ' + error);
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5103 次 |
| 最近记录: |