设置多个跨域代理

有的时候需要在一个vue项目中设置多个后台服务地址,在网上找了一下,发现很多都是再复制一个request.js,感觉有点不合理,就试着自己写了一个。

1、vue.config.js

  devServer: {
    open: true,
    host: 'localhost',
    port: 9527,
    hot: true,
    proxy: {
      '/api': {
        target: 'http://192.1.5.0:8082',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/'
        }
      },
      '/list': {
        target: 'http://192.2.0.1:8082',
        changeOrigin: true,
        pathRewrite: {
          '^/list': '/'
        }
      }
    }
  }

        如果你测试的时候,两个地址一样,可能会出现一个报404的情况,需要将匹配度低的放在后面。原因是这里的匹配实际上是一个正则匹配的过程,当我们请求 /api 时,首先读取到了配置项中的第一个, 拿配置中的 / 去匹配请求中的 /api , 发现请求的/api 中包含配置项/, 匹配成功。

2、request.js

// 1. 创建新的axios实例,
const service = axios.create({
  baseURL: '/',
  timeout: 5000
})

3、api.js

import request from '@/utils/request'

export function surveySnSerialNumber () {
  return request({
    url: 'api/clsBase/surveySn',
    methods: 'get'
  })
}
export function login (data) {
  return request({
    url: 'list/clsUser/doLogin',
    method: 'post',
    data
  })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值