vue 使用 devServer 代理实现 Axios跨域请求

devServer  实现纯前端配置代理解决axios跨域 

注:devServer 只在 开发环境 有效   

如果实现 编译后跨域  可采用 nginx代理的方法 可参考:https://www.cnblogs.com/hailexuexi/p/14934166.html

一、在 vue.config.js 中  加入下面代码

//-----------------------Axios跨域请求-----------------------------------------
  devServer:{
    port:4000,//vue网页访问的端口
    host:"127.0.0.1",//vue网页访问的地址
    https:false,
    open:false,
    proxy: {
        '/sina': {  //为用于替换的的标识字符串
            target: 'http://192.168.1.5',//Axios跨域请求的IP
            changeOrigin: true, 
            ws: true,
            pathRewrite: {
                '^/sina': '' //不用改
            }
        },
         
        '/phpUrl': {  //为用于替换的的标识字符串
          target: 'http://192.168.1.8:8080/VueApi',//Axios跨域请求的IP
          changeOrigin: true, 
          ws: true,
          pathRewrite: {
              '^/phpUrl': '' //不用改
          }
       }  
    }
}

二、在请求中这样写

    //获取users列表--------------Sina API--Axios跨域 Post请求----------
     this.$axios.get('/sina/api/users')
          .then(function (response) {
            //console.log(response);
            let { statusText, data } = response.data;//解析JSON
            //console.log(data);
             
      }.bind(this))
      .catch(function (error) {
        console.log(error);
      });

目的:

将   this.$axios.get('/sina/api/users')  中的  /sina   变成  http://192.168.1.5

现实   this.$axios.get(' http://192.168.1.5/api/users')  

 

感谢原作者:wh_xmy

https://blog.csdn.net/wh_xmy/article/details/87705840

 

posted @ 2021-06-26 14:40  海乐学习  阅读(51)  评论(0编辑  收藏  举报