【问题标题】:socket.io two client versionssocket.io 两个客户端版本
【发布时间】:2022-10-13 13:13:34
【问题描述】:

我们有两个具有不同版本服务器的微服务,我们需要连接到它们。最初有一个版本 3 的客户端,然后我们添加了一个版本 2 和 3 的客户端,因为它们使用不同版本的 socket-io-parser。

包.json

"socket.io-client2": "npm:socket.io-client@2.4.0",
"socket.io-client3": "npm:socket.io-client@3.1.3",

浏览器中的错误

Uncaught TypeError: Cannot read properties of undefined (reading'CONNECT') in socket.js

        
this.packet({ type: socket_io_parser_1.PacketType.CONNECT, data: this.auth });

socket.io-parser@3.3.2 中不存在 PacketType

如何解决这个冲突并使用两个版本?

【问题讨论】:

  • 'socket-io-client3' 在'node-modules' 包内有自己的'socket-io-parser' 版本,但由于某种原因,它从主'node' 连接到'socket-io-parser' -modules的目录,会不会是webpack配置错误?

标签: socket.io package.json


【解决方案1】:

通过修复 Webpack 的配置解决了这个问题。 我在 resolve -> modules 部分添加了“node_modules”

使用此文档:https://webpack.js.org/configuration/resolve/#resolvemodules

  resolve: {
    modules: ['node_modules']
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多