Socket.io:找不到模块:无法解析'C \:.... \ node_modules \ engine.io \ lib'中的'uws'

时间:2018-10-02 21:37:12

标签: node.js reactjs socket.io

我正在尝试对我的react / flask项目使用socket.io,并且每次我的app.js文件中需要socket.io时,node均无法编译,并且收到此消息。

  

无法编译。

     

./ node_modules / engine.io / lib / server.js

     

未找到模块:无法解析'C:\ Users \ Walker \ Desktop \ xxxxx \ xxxxx \ node_modules \ engine.io \ lib'中的'uws'

我尝试用节点手动安装uws,但是没有任何变化。我还在另一台计算机上使用了create-react-app并安装了socket.io,但是遇到了同样的错误。我关注了许多“入门”文章,但我不断遇到同样的错误。有人知道怎么了吗?

2 个答案:

答案 0 :(得分:7)

所以我也遇到了同样的问题,但是原因却截然不同。当前,当我从npm安装最新的socket.io服务器软件包时,将找不到uws。

之所以会这样,是因为uws的发布者最近上传了一个空包,删除了所有实际代码D:

您可以通过安装最新的未销毁版本来解决此问题

纱线添加uws@10.148.1 npm安装uws@10.148.1

链接到空/已弃用的软件包:https://www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/

reddit的见解背景信息:{{3}}

我要在搜索此问题时出现的前几个结果中发布此消息,因为花了我一段时间才能弄清问题所在,并希望这可以节省一些时间!

答案 1 :(得分:4)

尝试使用socket.io-client

代码如下:

import openSocket from 'socket.io-client';

const socket = openSocket(myURL);