BUG现象:
在完善好苍穹外卖前端项目之后,代码在本地运行(vscode上面npm run serve的形式运行)是没有任何问题的,但是在部署到nginx之后就出现了这个提示:
1、初步排查:
首先,项目的前端、后端、nginx的配置都没有任何问题。浏览器F12查看,发现报错信息为
并且在后端的控制台发现并没有输出websocket连接的log信息
2、测试排查:
经过多次测试发现,问题出现在前端项目打包的时候:
在打包之后生成的dist文件夹下的js目录里面,会有两个app前缀开头的文件,这两个文件中一个是js后缀的,一个又是map后缀的。js后缀的如上图所示,原先打包后是这个样子的:n="",赋值的是一个空串,我通过chatGpt以及网上的教程搜集发现不正确,通过多次测试,发现将其修改成n="/ws/"之后就能正常进行websocket双向通信实现实时报警了。
注意:另外,你还需要确认你的打包后的dist文件夹里面的js目录中的以app开头以map结尾的那个文件的内容socketUrl =后面跟的是process.env.VUE_APP_SOCKET_URL + clientId\n