如何在vue-cli应用程序中正确设置devServer for WebSocket代理 我做错了什么?我该如何解决?

问题描述

我有一个运行在 http:// localhost:8080 上并具有2条路由的Node.JS服务器:

  • "/":服务 /public/index.html
  • "/rest":返回{ ok: true }

此服务器还在同一端口上运行Websocket连接 。在 index.html 内部,我使用const socket = new WebSocket("ws://" + window.location.host)连接到服务器。

当我运行此服务器并访问 http:// localhost:8080 时,以下作品:

  • 提供索引:是✅
  • 返回JSON:是✅
  • WebSocket消息传递:是✅

此外,我还使用以下 vue.config.js在开发模式下的 http:// localhost:8079 上运行 vue-cli 应用配置:

...
devServer: {
  port: 8079,"/": {
    target: "http://localhost:8080/",ws: true
  },}

当我运行此应用并访问 http:// localhost:8079 时,会发生以下情况:

  • 已提供索引:是的,这表示代理正在为此路由工作。
  • 返回JSON:是✅,表示代理正在为此路由工作。
  • WebSockets消息传递:否,我收到错误“与'ws:// localhost:8079 /'的WebSocket连接失败:连接建立错误:net :: ERR_CONNECTION_REFUSED“

我做错了什么?我该如何解决

如您所见,我包含了ws: true,它也用于代理WebSocket连接。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)