Vue解决项目白屏以及(反向代理)

第一步:  vue-cli项目根目录下面新建Vue.config.js文件  proxy反向代理 
 
module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'https://qyapi.weixin.qq.com', //目标地址
        ws: true, //// 是否启用websockets
        changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        pathRewrite: {
          '^/api': '/'
        } //这里重写路径
      }

    },

  },
  publicPath: './',        //解决白屏重定向根路径
  // assetsPublicPath: './'
}


第二步骤:main.js
Vue.prototype.$axios = axios
axios.defaults.baseURL = '/api' //关键代码
Vue.config.productionTip = false
// axios.defaults.withCredentials = true;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
// axios.defaults.baseURL = 'http://msmtest.ishare-go.com   '
axios.defaults.baseURL = 'http://msmtest.ishare-go.com'

  



Vue-CLI 3.x 设置反向代理

 

 

最近在项目中使用了Vue CLI 3.0版本,项目中需要设置反向代理解决跨域问题,下面记录一下设置过程。

新建配置文件

(vue-cli3.x 官网的配置文档 https://cli.vuejs.org/zh/config/#devserver-proxy

在项目的根目录下新建 vue.config.js 文件,自Vue CLI 3开始,项目中所有的配置信息都写在这个文件中(2在config目录中配置)。如下图:

配置反向代理

在vue.config.js 文件里,添加如下代码:

复制代码
module.exports = {
    devServer: {
        proxy: {
            '/api': {
                target: 'http://m.baidu.com',//目标地址
                ws: true, //// 是否启用websockets
                changeOrigin: true, //开启代理:在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
                pathRewrite: {'^/api': '/'}    //这里重写路径
            }

        }
    }
}
复制代码

在数据请求的时候:

假设原来的接口为:

http://m.baidu.com/sf/vsearch/image/browse/wiseresultjson?ie=utf-8&word=%E6%93%8E%E5%A4%A9%E6%9F%B1&rn=10&browsetype=0&pn=0&browse_style=1

配置完代理以后,我们在项目中请求接口的时候,这样写:

/api/sf/vsearch/image/browse/wiseresultjson?ie=utf-8&word=%E6%93%8E%E5%A4%A9%E6%9F%B1&rn=10&browsetype=0&pn=0&browse_style=1

看一下完整点的代码吧。




原文地址:https://www.cnblogs.com/xiaoxiaoxun/p/12083327.html