首页 > 解决方案 > 为什么我的 vue.config.js 代理不起作用?

问题描述

我有一个 vue cli 3.5.0 项目,正在尝试添加代理,但我无法让它工作。服务器在:5000 上运行,客户端在:8080 上运行。下面你可以看到我的代理。但它一直使用 :8080 而不是 :5000

vue.config.js

module.exports = {
    devServer: {
      proxy: {
        '/api': {
          target: 'http://localhost:5000',
          ws: true,
          changeOrigin: true
        }
      }
    }
  }

这是我如何调用请求的示例

const url = '/api/races/'
const config = {
    headers: {'Authorization': "Bearer " + localStorage.token}
}

class RaceService {
    // Get Races
    static getRaces() {
        return new Promise(async (resolve, reject) => {
            try {
                const res = await axios.get(url)
                const races = res.data
                resolve(races)
            } catch (err) {
                reject(err)
            }
        })
    }
}

有人可以帮助我吗?api 请求需要使用 :5000 而不是 :8080

标签: vue.jsconfigvue-cli-3

解决方案


您必须使用“^/api”而不是“/api”


推荐阅读