后台老哥要用微软的signalr,总结了一些经验和问题
引入方法
1、npm
npm i @microsoft/signalr
2、下载他的js或者cdn
<script src="https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/6.0.1/signalr.js"></script>
在uniapp中,h5是正常的,运行到App会报ReferenceError: require is not defined
可以使用renderjs
用法不想看可以直接复制
<script module="test" lang="renderjs">
import * as signalR from "@microsoft/signalr";
export default {
data() {
return {
connection: null
}
},
mounted() {
// 建立连接
console.log(signalR)
this.connection = new signalR.HubConnectionBuilder()
.withUrl("xxxxx") // 此处填服务器地址
.configureLogging(signalR.LogLevel.Information)
.build();
// 注册方法(给后端调用的,需要在methods中定义)
// this.connection.on("ReceiveMessage", this.ShowMsg);
// 开始连接
this.connection
.start()
.then((res) => {
console.log("Connected!a")
this.$ownerInstance.callMethod('isConnected', {
connected: true
})
this.connection.invoke("SendMessage", "hello world")
})
.catch((err) => {
console.log(err)
});
return
}
}
</script>
注:可以直接新建一个script 标签,放在原页面script 标签的下面,像这样。