这个错误让我的页面显示不出来,白屏,错误信息如下:
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
参考:文章来源:https://www.toymoban.com/news/detail-603092.html
https://blog.csdn.net/qq_31754523/article/details/109511628
https://ask.dcloud.net.cn/question/106630
https://ask.dcloud.net.cn/article/id-38673文章来源地址https://www.toymoban.com/news/detail-603092.html
到了这里,关于解决 uniapp报错:TypeError: WebSocket is not a constructor的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!