vue中proxy配置及理解

今天被vue中proxy配置困扰了一天,记录一下。

项目中需要和两个不同的后台服务器接口进行响应,在开发过程中将第二个服务器接口默认写死了:http://www.beehub.paradeum.com/api/xxx  但是项目在生产环境中面临需要匹配https的情况,不能采用写死请求路径的情况,在项目大佬修改之后终于成功了,代码及使用如下:

vue.config.js

 proxy: {

      // change xxx-api/login => mock/login

      // detail: https://cli.vuejs.org/config/#devserver-proxy

      [process.env.VUE_APP_BASE_API]: {

        target: "http://api.beehub.paradeum.com",

        changeOrigin: true,

        pathRewrite: {

          ["^" + process.env.VUE_APP_BASE_API]: ""

        }

      },

      "/gateway": {

        target: "http://api2.beehub.paradeum.com",

        changeOrigin: true,

        secure: false

      }

    }

  },

 upload.vue

 axios.post('/gateway/api/query', fd, config)

到此,将gateway的请求从localhost代理到了beehub.paradeum.com 

理解vue中proxy配置的含义:当我们从localhost:9000请求localhost:3000的数据时,因为浏览器的同源策略,会出现跨域无法成功请求的情况,但是通过运行vue项目而本地开启的node服务器是可以进行请求的,所以我们将localhost:9000的数据请求代理到node本地运行环境中从而进行请求3000端口的数据。

注:vue项目中配置的proxy只是对于开发环境中将的localhost请求代理到www.xxx.com,当项目发布到生产环境则是走nginx代理服务器,项目中的proxy配置无效。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值