在開發過程中,經常需要與后端進行接口交互。在本地進行調試時,往往需要將前端請求代理到后端。這時候,我們就需要用到代理端口。
代理端口可以幫助我們解決一些開發中的問題,比如跨域、方便調試等。一種常用方式是使用webpack的代理功能。
在vue-cli腳手架中,配置代理端口非常簡單。我們只需要在/config/index.js文件中添加以下代碼:
dev: { // ... // proxyTable代理 proxyTable: { '/api': { // 以 /api 開頭的請求,會調用下面的target target: 'http://localhost:3000', // 后端服務的url pathRewrite: {'^/api': ''} // 將 /api 替換為空(刪除) } } // ... }
上面的代碼表示將以/api開頭的請求代理到本地的http://localhost:3000服務端口。pathRewrite屬性可以幫助我們消除/api前綴,讓后端能夠正常解析請求。
使用代理端口后,我們就可以在前端代碼中通過同源的方式請求后端接口,無需考慮跨域的問題。以axios為例:
axios.get('/api/user') .then(response =>{ console.log(response) }) .catch(error =>{ console.log(error) })
上面的代碼會發送一個以/api/user為地址的get請求,并在控制臺中輸出響應結果。所有以/api開頭的請求都會被代理到http://localhost:3000端口。
需要注意的是,在線上環境中,我們不需要使用代理端口來解決跨域的問題。而是使用CORS(跨域資源共享)策略來允許不同域名間的資源共享。
總之,在開發環境中使用代理端口可以幫助我們更方便地進行本地調試,提高開發效率。同時,也可以避免一些由跨域引起的問題。
下一篇vue 如何配置vux