如何使用socket.io browserify?

时间:2016-07-02 16:20:47

标签: javascript node.js socket.io browserify

如何将socket.io与browserify一起使用?

当socket.io安装在节点应用程序中时,它会为这个socket.io脚本创建这个url路径:

/socket.io/socket.io.js

但该文件的真实路径(相对于node_modules dir)需要传递给browserify吗?

是吗。

socket.io的客户端/ socket.io.js

或者

socket.io/lib/client.js

在socket.io-client的文档中,它说“Socket.IO与browserify兼容”。但他们没有说明如何。

4 个答案:

答案 0 :(得分:3)

如果您努力使用浏览器作为全局窗口,请使用此代码进行集成:

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

答案 1 :(得分:2)

这是一个最小的客户:

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

您可以浏览:

browserify client.js > bundle.js

答案 2 :(得分: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

Abrakadabra!

答案 3 :(得分:0)

导入客户端,然后使用以下命令将其分配给变量:

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

然后,您可以拨打client