UNPKG

signalr-no-jquery

Version:

Javascript SignalR client without jQuery dependency

90 lines (62 loc) 2.6 kB
# signalr-no-jquery ## SignalR JS Client with shimmed jQuery not polluting global namespace jQuery shim borrowed from [react-native-signalR](https://github.com/olofd/react-native-signalr) This version of signalR client doesn't add jQuery to `window` object but imports jQueryShim locally to signalR and exports `hubConnection`. jQueryShim file contains only bare-minimum of jQuery to make signalR client run. This package is not for use with ASP.NET Core version of SignalR. This version currently matches version 2.4.3 of [SignalR/SignalR](https://github.com/SignalR/SignalR) and works together with a hosted Azure SignalR Service. ### Usage ``` npm i signalr-no-jquery ``` TypeScript definitions ``` npm i @types/signalr-no-jquery ``` #### ES6 Loader ``` import { hubConnection } from 'signalr-no-jquery'; ``` #### HTML Use just like regular signalR but without $ namespace. ``` const connection = hubConnection('http://[address]:[port]', options); const hubProxy = connection.createHubProxy('hubNameString'); // set up event listeners i.e. for incoming "message" event hubProxy.on('message', function(message) { console.log(message); }); // connect connection.start({ jsonp: true }) .done(function(){ console.log('Now connected, connection ID=' + connection.id); }) .fail(function(){ console.log('Could not connect'); }); ``` #### Integration with typescript If you are working with typescript, there is a matching types package called @types/signalr-no-jquery ``` npm install --save @types/signalr-no-jquery ``` and add at the beginning of TypeScript file: ``` import { connection } from 'signalr-no-jquery'; ``` Then you can use the connection as you would have before without $. ``` const signalrConnection = hubConnection(); const hub = signalrConnection.createHubProxy('hubName'); hub.on('eventName', (): void => { // handle your event here }); signalrConnection.start().done(() => { // do some initialization once you know the connection has been started // For instance, call a method on the server hub.invoke('serverMethod', someArgument); }); ``` #### Update 4/01/2017: accessing global settings like through former $.connection Note: This is an object holding global settings and it's not the same as connection handle returned by hubConnection ``` import { connection } from 'signalr-no-jquery'; ``` ### Problems Feel free to create pull requests and raise issues <https://github.com/DVLP/signalr-no-jquery/issues>