节点:套接字io require.resolve不是一个函数?

时间:2014-10-19 15:04:11

标签: javascript node.js sockets

我很惊讶谷歌搜索这个并没有给我任何结果。无论如何,在使用socket.io时我的问题是:

enter image description here

当我进一步检查时,它来自socket.io index.js源文件(第28行)导致问题:

var clientSource = read(require.resolve('socket.io-client/socket.io.js'), 'utf-8');

所以require.resolve()不是一个函数,我怀疑起初它是我的节点版本但是没有,我已经更新到最新版本并且它仍然存在。

我使用browserify和gulp生成应用文件。

任何人都对此有所解决?感谢

2 个答案:

答案 0 :(得分:13)

browserify require的实施没有resolve方法。

由于显而易见的原因,您无法在浏览器中运行socket.io服务器。如果你真的想要一个socket.io客户端,你需要socket.io-client(自述文件说它与浏览器兼容)。

答案 1 :(得分:3)

要在浏览器中使用socket.io,请安装客户端lib:

npm install socket.io-client --save

可以使用以下方式导入:

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