【发布时间】:2021-12-04 08:58:53
【问题描述】:
当我尝试在 react 中使用套接字时遇到了这个问题,我知道它说我应该使用 导出默认值而不是 module.export 但这段代码存在于套接字包本身中,当我通过错误更改它时
我使用节点版本 v14.17.0
这些是我使用的包和 react 版本
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"socket.io-client": "^4.3.1",
"web-vitals": "^1.0.1"
},
这是导致此错误的socket包中的一段代码
Object.assign(lookup, {
Manager,
Socket,
io: lookup,
connect: lookup,
});
if (typeof module !== "undefined") {
module.exports = lookup;
}
【问题讨论】:
-
现在将 socket.io-client 降级到 v4.2.0。由于 ESM 构建而引入的错误正在得到解决。最新版本最多可能需要 2-3 天才能稳定到可以使用。
-
好的,试试这个
-
效果很好,谢谢@brc-dd