2016-07-02 13 views
3

Wie verwende ich socket.io mit browserify? Wie benutze socket.io browserify?

Wenn socket.io in einem Knoten App installiert ist, erstellt es diese URL-Pfad für ths socket.io Skript:

/socket.io/socket.io.js

Aber was wäre, realer Pfad dieser Datei (relativ zum Knoten directory), der an browserify übergeben werden muss?

Ist es z.B.

socket.io-client/socket.io.js

oder vielleicht

socket.io/lib/client.js

In der Dokumentation von socket.io-Client heißt es " Socket.IO ist mit browserify kompatibel. " Aber sie sagen nicht wie.

Antwort

0

Der Pfad wird genau derselbe sein, da es der Server ist, der die socket.io-Client-Bibliothek bedient (und ich nehme an, Sie sind nicht browserify in dem Server, oder?).

Aber ich benutze eine bequemere Lösung: überprüfen Sie dies.

io = require 'socket.io-client' 

class Network 

    constructor: (game, refresh_infos) -> 

     @sock = io() 
     #... 

    pending: (name, cb) -> 

     @name = name 
     @sock.emit 'pending', name: name 
     @sock.on 'new_game', (data) => cb data 

Abrakadabra!

+0

Es ist coffeescript, aber ich denke, dass Sie keine harte Zeit haben werden, es zu JS zu übersetzen. –

+0

"Der Pfad wird genau so sein wie seit ..." Sorry für meine Ignoranz hier, aber genau so wie _what_? – LongHike

+0

Das gleiche wie wenn Sie nicht browsery verwenden würden. –

0

Import-Client und weisen Sie dann auf Variable mit:

var client = require('socket.io/lib/client'); 

können Sie dann client nennen.

2

Hier ist ein minimal-Client:

// client.js 
var socket = require('socket.io-client')(); 
socket.on('message', ...); 

Welche Sie Browserify können:

browserify client.js > bundle.js 
+0

Um dies zu erreichen, musste ich die URL und den Port übergeben, also 'var socket = require ('socket.io-client') (" http: // localhost: 8080 ");'. –

2

Wenn Sie es die Arbeit mit browserify als Fenster weltweiten Einsatz diesen Code für die Integration zu erhalten kämpfen:

var io = require('socket.io-client'); 
window.io = io;