记录一下cocoscreator打包后,在微信开发者工具和真机调试中的坑

在使用cocoscreator开发微信小游戏时,遇到socket.io.js的self引用错误、JSON循环引用报错以及全局变量未定义的问题。通过更换socket.io.js版本为1.4.4,修改JSON.stringify的判断条件,以及在每个场景重新初始化全局变量,解决了这些调试中的难题。
摘要由CSDN通过智能技术生成

背景

最近在用cocoscreator做一个对战的小游戏,通信用的socket.io模块,客户端语言用的ts,后端用的node.js
简单的功能做的差不多了,然后打包到微信开发者工具和真机进行调试时发现了一些匪夷所思的问题(也许只是对我来说是这样)。记录一下,以避免以后踩同样的坑。

一、self in not defined

在这里插入图片描述
在本地和开发者工具中调试都是正常的,但是不知为什么到真机调试的时候就会报这样的一个错。
国庆前,就一直搞这个问题,cocos论坛和微信开发社区,大佬群各种地方发帖子,寻求解决办法。最终,无疾而终。

终于在国庆之后,死马当活马医。在我全局搜索项目中哪里用到了self之后,发现socket.io.js里边有几个self。代码是压缩状态,我也没仔细看里边的逻辑是怎样的,猜测有可能是这里边self有问题吧。
反正已经试了很多方法了,也不差这一下,换个socket包试一下吧。

于是,我把socket.io.js(客户端用)的版本改为之前在论坛找到的一个包,版本1.4.4。

最终测试,竟然成功了,困扰我半个月之久的问题终于解决了。

总结:
1.用1.4.4版本的socket.io.js客户端包
2.执行命令 npm install @types/socket.io-client 得到的1.4.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值