現在應用都是前後端分離,這也造成前端在調用介面時出現跨域問題,在控制台會這樣提示 ,如果有類似於此圖的提示,就已經表明你的介面調用出現了跨域問題,此文章是我對於vue跨域其中一種方式的一些經驗,如果錯誤,謝謝諒解!!! 首先對於vue跨域,我們可以用代理:在 config --> index.js里 ...
現在應用都是前後端分離,這也造成前端在調用介面時出現跨域問題,在控制台會這樣提示
,如果有類似於此圖的提示,就已經表明你的介面調用出現了跨域問題,此文章是我對於vue跨域其中一種方式的一些經驗,如果錯誤,謝謝諒解!!!
首先對於vue跨域,我們可以用代理:在 config --> index.js里,,相信大家都懂,然後我們在調用介面時,用 /api 代替target的內容,就可以實現本地跨域調用了。
但是這個只能解決開發環境的跨域問題,但是生產環境里,會報錯,所以我們需要再配置,在config --> dev.env.js內,
這是開發環境配置,然後我們再配置config --> prod.env.js
這個生產環境里的API_HOST內是跟index.js的target內容差不多,主要根據介面的設置,再然後就是調用時,我用的是axios,
使用process.env.API_HOST,在調用時,會根據環境不同調用上述的不同數據介面代理。但是要在這裡說一聲,當你配置完dev.env.js和prod.env.js之後,一定要重啟此項目,不然配置不會生效,當時我就忘了重啟,浪費了大量的時間。當然大家也可以把介面統一管理,方便以後修改,儘量不要使用粘貼複製介面在url內,維護代價太高。