为什么我的 vue.config.js 代理不工作?

Why is my vue.config.js proxy not working?

我有一个 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

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

检查你的 vue.config.js 文件位置它不应该在 src 文件夹中,而是在你的项目的根目录中,有关详细信息,请参阅:

尝试重新加载你的 vue 服务器,如果你还没有这样做的话

直到你启动和停止 vue 服务器 因为在你这样做之前 vue.config.js 没有加载,

也一样

在你执行 npm 运行 服务的终端中按 Ctrl+C 然后重新开始使用 npm run serve