cocos 3.8 版本使用 socket.io-client 的问题

  • Creator 版本:3.8

ReferenceError: global is not defined
at Object.execute (globalThis.js:1:31)
at doExec (system-core.js:309:30)
at postOrderExec (system-core.js:300:21)
at system-core.js:285:28
at Array.forEach ()
at postOrderExec (system-core.js:283:10)
at system-core.js:285:28
at Array.forEach ()
at postOrderExec (system-core.js:283:10)
at system-core.js:285:28

一调用 io(“http://localhost”) 就报这个错,请问是什么原因呢,是不是我使用 socket。io的 方式不对

使用的是 socket.io-client4.7.2版本, 用的 npm 包。

这个问题确实很奇怪,懒得深究了。我是这样解决的:

//@ts-ignore
import io from "socket.io-client/dist/socket.io.js";
import { Socket } from "socket.io-client";

var socket: Socket = io("https://game-server.heartstack.space/");

console.log(333, io, socket);

socket.on("connect", () => {
  console.log(socket.id);
});

socket.on("disconnect", () => {
  console.log(socket.id);
});

可以正常使用,并且具有类型,我的creato 版本是:3.8.1

1赞

我是3.72版本,npm install socket.io-client后 也遇到了这个问题
假如不考虑类型是可以当js用的 但是想要提示就要用你这种办法处理