websocket ---反向代理解决跨域问题

让websocket 可以在本地调试

首先在 测试环境的配置 webpack.dev.config.js 的 plugins 添加;
new webpack.DefinePlugin({
     process.env: {
         NODE_ENV: "development"
     }
 }),
然后在初始化websocket的时候判断当前环境是开发环境还是测试环境
initWebSocket() {//webSocket初始化
      let path = window.location.host;

      //这里是关键,可以判断当前环境是生产环境还是开发环境,开发环境加测试域名即可调试,生产环境由于代码要放到服务器获取本地域名即可
      if(process.env.NODE_ENV === development) {
        path =  baidu.com; //这里改成你测试的域名
      } else {
        path = window.location.host;
      }

      const wsuri = wss:// + path + "/api/scanJump/ws.jhtml"; //如果是wss协议,这里path一定要域名才能正常连接 ip+端口的方式不行(注:这里/api是设置了反向代理解决了跨域问题,详情看下面链接)
      this.websock = new WebSocket(wsuri);
      this.websock.onopen =
经验分享 程序员 微信小程序 职场和发展