0
点赞
收藏
分享

微信扫一扫

解决 uniapp报错:TypeError: WebSocket is not a constructor

非常帅气的昵称吧 2022-03-13 阅读 46
websocket

参考:

这个错误让我的页面显示不出来,白屏,错误信息如下:

TypeError: WebSocket is not a constructor

首先要确认mqtt版本,我之前是4.+,后来改成3.0.0解决一部分问题

npm ls mqtt
npm i mqtt@^3.0.0

白屏是因为要条件编译,app端是“wx://”,h5端是"ws://“”

这样白屏解决,但是app端一直连接不上,可能是clientId的问题,我改了之后就完美接收到信息

代码如下:

const mqtt = require('mqtt/dist/mqtt.js')
var client;
// #ifdef H5
 const options = {
   port: 8083,
   connectTimeout: 4000,
   clientId: "mqtt_" + Math.random().toString(16).substr(2, 8),
 };
client = mqtt.connect("ws://xxx.xxx.x.xx/mqtt", options);
//#endif

// #ifdef APP-PLUS
// 获取终端标识
var pinf = plus.push.getClientInfo();
var clientId = pinf.clientid; //客户端标识
 const options = {
   port: 8083,
   connectTimeout: 4000,
   clientId,
 };
client = mqtt.connect("wx://xxx.xxx.x.xx/mqtt", options);
//#endif

在这里插入图片描述

举报

相关推荐

0 条评论