2016-07-02 4 views
3

socketifyをbrowserifyでどのように使用しますか?socket.ioをブラウザの使用方法は?

socket.ioはノードアプリにインストールされている

は、それがこのTHS socket.ioスクリプトのURLパスを作成:

/socket.io/socket.io.jsを

しかし、どのようになりますかbrowserifyに渡す必要がある(node_modulesディレクトリに対して)そのファイルの実際のパス?

socket.io-クライアント/ socket.io.js

または多分

socket.io/lib/client.js socket.ioクライアントのドキュメントで

それは "言いますSocket.IOはbrowserifyと互換性があります。しかし、彼らはどのように言いません。

答えて

0

このパスは、socket.ioクライアントライブラリを提供するサーバーであるため、まったく同じになります(サーバをインストールするのはbrowserifyです)。

しかし、私はもっと便利な解決法を使用しています:これをチェックしてください。

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 

アブラカダブラ!その後、

+0

これはcoffeescriptですが、JSに翻訳するのに苦労することはありません。 –

+0

"パスはまったく同じなので..." ここに私の無知のために申し訳ありませんが、まったく同じ_what_と同じですか? – LongHike

+0

あなたがbrowserifyを使用していない場合と同じです。 –

0

インポートクライアントとして変数に代入:あなたはその後、clientを呼び出すことができます

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

2

ここでは最小限のクライアントです:

browserify client.js > bundle.js 
+0

これを実現するには、URLとポート、つまり 'var socket = require( 'socket.io-client')(" http:// localhost:8080 ");'を渡す必要がありました。 –

2

を使用すると、ウィンドウのグローバル使用として、それはbrowserifyでの作業を取得するために統合するため、このコードを苦労している場合:あなたはBrowserifyできる

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

var io = require('socket.io-client'); 
window.io = io; 
関連する問題