将vue项目打包上线之后懵了,有两个问题,如下:

1)项目中有一个充值的功能,充值成功之后提示用户充值成功,这就必然会用到websocket长连接了。但是在用户充值成功之后并不能接收到充值成功的回调,通过后台的打印数据来看,原来是由于地址名与websocket连接地址不匹配,所以造成了服务器认为是不同浏览器,又重新设置了session,导致websocket长连接的session与登录时的session不一致,所以接收不到支付成功的回调信息。

所以websocket长连接的关键在于ws地址要与地址栏里的地址完全相同!!!!即下面的几个地址:

websocket长连接地址:

bf6ec5f71f3fee3646cb335b1eaf3b4e.png

地址栏地址

72e9e64ee7a43c69c34fc329a0b21fad.png

支付地址

d6620d175b208506a979e57eb3a1089f.png

2)favicon.ico显示不出来

在本地配置favicon是这样配置的:

d34d9711b8d196bef926d72aebe0c335.png

这样在开发环境下的配置是使用了绝对路径,是可以显示的,但部署到线上之后,在项目外层包了一层项目名的文件夹,所以用绝对路径访问不到,因此,当打包上线后,需要将线上环境下的favicon路径改成相对于index.html的相对路径就可以了。如下图:

688b29279a101f9ade12d8af342c2198.png
Logo

前往低代码交流专区

更多推荐