我正在尝试让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文件。
我错过了什么?
答案 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服务器提供socket.io-client
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