vue config.js 配置跨域不生效

首先,我的config.js文件没有问题

module.exports = {
  devServer: {
    open: true,
    host: 'localhost',
    port: 8080,
    https: false,
    hotOnly: false,
    proxy: {
      // 配置跨域
      '/api': {
        target: '',//后端接口地址
        ws: true,
        changOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    },
    before: app => {}
  }
};

但是配置好后,重启终端运行前端代码,这个时候发起axios请求,报错 404 ,localhost:XXX,接口找不到

问题定位:

由于设置了 proxy 解决跨域,所以发起数据请求,理应是后端接口响应,而不应为localhost 响应,所以这里断定,设置的 vue.config.js文件未生效!

解决方法

axios默认请求接口就是localhost,所以这里需要更改 axios设置的默认请求设置

在 main.js 文件里,设置

axios.defaults.baseURL = '/api'

重启,发现问题解决!!!

Logo

前往低代码交流专区

更多推荐