VueCli3.0 + axios反向代理解决跨域问题

在使用vuecli3.0开发过程中,请求后台给的接口时,报错如下
跨域报错
然后使用 http-proxy-middleware 解决
安装 npm install http-proxy-middleware
使用在 vue.config.js 文件中添加如下代码

devServer: {
        // 设置代理
        proxy: {
          "/api": {
            target: "XXXXX", // 域名
            ws: true, // 是否启用websockets
            changOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
            pathRewrite: {
              "^/api": "/api"
            }
          }
        }
    }

配置的反向代理会将所有以 /api开头的请求自动代理到 XXXX下,但是对浏览器来说请求的地址是localhost:8080(默认地址),因此可以解决跨域问题。

使用后发现发送的请求前面都会带有 /api ,在pathRewrite里将/api写为“”即可
测试请求测试请求
返回结果
返回结果

猜你喜欢

转载自blog.csdn.net/qq_41494464/article/details/84774942