在開發環境與後端除錯的時候難免會遇到跨域問題,很多人說跨域交給後端解決就好了。
其實不然,前端也有很多方法可以解決跨域,方便也快捷。
常見的有nginx轉發、node代理。
在vue專案中常用的是proxyTable,這個用起來很方便。
開啟config下面的index.js,找到proxyTable,新增以下程式碼即可:
'/api': { //替換代理地址名稱
target: 'http://api.douban.com/', //代理地址
changeOrigin: true, //可否跨域
pathRewrite: {
'^/api': '' //重寫介面,去掉/api
}
}
配置完之後需要重啟下專案 npm run dev
重啟之後,就可以呼叫,實現跨域了
具體使用:
在需要呼叫的介面前加上“/api”即可
不出意料,點選按鈕之後控制檯會打印出返回結果
為了方便打包後去除'/api',建議把'/api'設成全域性,在main.js中新增
Vue.prototype.api = '/api'
呼叫介面的時候的url就可以寫成api + '介面地址'
打包上線前需要把api設為空,即 Vue.prototype.api = ''
到此結束,希望有所幫助。
有問題聯絡QQ412606846 微信同號