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

看一下完整點的代碼吧。

 





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM