您好,登錄后才能下訂單哦!
本文介紹了vue-cli 接口代理配置,分享給大家,具體如下:
一些同學在配置接口代理時,會有疑問 我配置成功了為什么接口還是不通 ,其實代理已經成功 只是 接口訪問地址規則沒搞清楚
下面以本地測試為栗子 向大家介紹
一些基本操作這里就不介紹了
找到vue-cli config 文件夾下的 index.js 這是是配置接口規則的文件 同目錄下建立 proxyConfig.js 一些同學習慣直接在原文件修改 ,也是可以但推薦使用新建文件的方式:
module.exports = { proxyList: { '/api': { target: 'http://localhost:3000', (這里是代理接口的位置) changeOrigin: true,(允許跨域,如果這不寫,調用接口接口時會有跨域錯誤說缺少請求頭) pathRewrite: {'^/api': '' } (路由規則下面詳細介紹) } } }
******路由規則*******
上述代碼執行之后,意思就是 只要在接口中看到‘/api‘ 會自動變成我們設置的地址,那么我們在設置的時候可以規范接口書寫標準 就用到了這個屬性 pathRewrite 路徑重寫{'^/api': '' } 是指你想讓路由變成什么樣子 ,如果是空 那么在解析時 如果我們的接口寫的是 $http.get('/api/good') 那么在服務端我們將會看到 /good的訪問,如果此時在服務端并沒有相應的路由匹配,客服端就會顯示報錯,端口號還是客戶端的端口號,所以很多同學就錯覺沒有起作用 ,同理如果我們設置{'^/api': '/api' } 那么在服務端將會看到/api/goods 的接口訪問,意思就是不僅將/api自動解析成代理地址,還會作為服務端的路由展示。
另外在設置路由規則注意分隔符/ 有些同學喜歡這樣寫 target: 'http://localhost:3000/', 自己寫端口后面加上一個分隔符,會發現路由對不上,這時你需要在命名的時候也要加上‘/' 路由規則也要加上‘/' 接口才能對,不然 會發現請求接口的時候多了一個分隔符 如:'/api//goods'。
設置完之后,在index.js 里面 引入 proxyConfig.js,設置 proxyTable 完成設置
const proxyConfig = require('./proxyConfig') module.exports = { dev: { env: require('./dev.env'), host: 'localhost', port: 8188, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: proxyConfig.proxyList, cssSourceMap: false, } }
請求時 這樣寫
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。