Socket.IO客户端.js文件位于何处?

时间:2013-07-20 01:23:59

标签: javascript node.js socket.io

我正在尝试让socket.io(节点库)工作。

我有服务器端的js工作,它正在监听。 socket.io网站简单地说:

<script src="/socket.io/socket.io.js"></script>
<script>
  var socket = io.connect('http://localhost');
  socket.on('news', function (data) {
    console.log(data);
    socket.emit('my other event', { my: 'data' });
  });
</script>

这很好,但是我导入的JS文件是什么!?!

我进入了node_modules目录,在那里我通过npm安装了socket.io,而在socket.io/lib/里面是socket.io.js文件。但是,这是服务器端(使用短语require(),客户端上的错误。)

我花了一个小时环顾四周,我无法获得任何客户端.js文件。

我错过了什么?

5 个答案:

答案 0 :(得分:35)

我设法最终为自己回答了这个问题。

socket.io入门页面不清楚,但我发现socket.io的服务器端自动在起始节点上托管.js文件,在文档中指定的目录中:

"/socket.io/socket.io.js"

因此,无论您的网络应用程序结构如何,您都只需指向此网址即可。

答案 1 :(得分:4)

我建议您检查node_modules目录是否位于app目录的顶层。另外,我确实认为你需要指定一个端口号;你应该写一些像var socket = io.connect('http://localhost:1337');这样的东西,其端口号是1337

答案 2 :(得分:0)

Here您可以找到各种版本的CDN。

答案 3 :(得分:0)

可以通过以下几种方式使用客户端:

  • /socket.io/socket.io.js上的socket.io服务器提供
  • 通过webpack包含为模块socket.io-client
  • 通过官方CDN https://cdnjs.cloudflare.com/ajax/libs/socket.io/<version>/socket.io.js

对于第一个服务器,可以通过以下两种方式配置服务器:

// standalone
var io = require('socket.io')(port);

// with existing server from e.g. http.createServer or app.listen
var io = require('socket.io')(server);

答案 4 :(得分:-1)

如果您执行 npm install ,则客户端socket.io文件位于 node_modules / socket.io-client / dist / socket.io.js