VUE3配置webSocker代理

在使用websocket的时候,需要传入socket的地址

  socket = new WebSocket(`http://localhost:8000/ws/task_state`)

但是如果想修改socket的地址,就需要修改代码后重新打包,如何给socket像http请求那样配置一个代理呢?

在项目的vite.config.js中配置一个代理服务器,

  '/ws': {
                target: 'ws://xxxx:8000', // target host
                ws: true, // proxy websockets
                changeOrigin: true, // needed for virtual hosted sites
            }

在new一个websocket对象时传入‘/ws’

socket = new WebSocket(`/ws`)

但发现根本连接不上,

之后发现在http请求中它会自动给请求的url中加入“http://localhost:xxx”,但是websocket连接时候就不会加,会不会是vite打包时候做了什么,

如果创建的时候手动给webSocket加上当前的“location.host”会不会就可以了呢

socket = new WebSocket(`ws://${location.host}/ws`)

结果还真就连上了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值