最近在項目中使用了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
看一下完整點的代碼吧。