vue项目中配置请求多个服务器解决方案

解决方案

  1. vue.config.js 配置
devServer: {
  port: 3000,
  proxy: {
    // 第一台服务器配置 
    '/cgi': {
      target: 'http://localhost:8005',
      ws: true,
      changeOrigin: true,
      pathRewrite: {
        '^/cgi': '/cgi'
      }
    },
    // 第二台服务器配置 
    '/': {
      target: 'http://localhost:8006',
      ws: true,
      changeOrigin: true,
      pathRewrite: {
        '^/': '/'
      }
    } 
  }
}
  1. axios修改
const BASE_URL = ''
// 创建 axios 实例
const service = axios.create({
 baseURL: BASE_URL, 
 timeout: 5000 ,// 请求超时时间
 headers: {
    'Content-Type': contentType,
  },
})
  1. 发送请求
// 请求前缀为"/"
axios.get("/get_pkg_info").then(res => {
 console.log('/', res)
}).catch(err => {
 console.log(err)
})

// 请求前缀为"/cgi"
axios.get("/cgi").then(res => {
 console.log('/cgi', res)
}).catch(err => {
 console.log(err)
})

备注:多个接口服务的状况下,如果前缀是”/”,要将其放在proxy配置的最初一部分,代理的时候是从上往下查找的,如果放在最下面其余服务也会被该配置代理掉

Logo

前往低代码交流专区

更多推荐