我很惊讶谷歌搜索这个并没有给我任何结果。无论如何,在使用socket.io
时我的问题是:
当我进一步检查时,它来自socket.io index.js源文件(第28行)导致问题:
var clientSource = read(require.resolve('socket.io-client/socket.io.js'), 'utf-8');
所以require.resolve()不是一个函数,我怀疑起初它是我的节点版本但是没有,我已经更新到最新版本并且它仍然存在。
我使用browserify和gulp生成应用文件。
任何人都对此有所解决?感谢
答案 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');