您好,登錄后才能下訂單哦!
小編給大家分享一下Vue-cli proxyTable如何解決開發環境的跨域問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
和后端聯調時總是會面對惱人的跨域問題,最近基于Vue開發項目時也遇到了這個問題,兩邊各自想了一堆辦法,查了一堆資料,加了一堆參數,最后還得我把自己的localhost映射成上線時將要使用的域名。
翻看代碼時,突然發現vue-cli的config文件里有一個參數叫proxyTable,看這個名字就感覺能解決問題,于是我就去搜了一下,果然。在vuejs-templates,也就是vue-cli的使用的模板插件里,有關于API proxy的說明,使用的就是這個參數。
https://vuejs-templates.github.io/webpack/proxy.html
這個參數主要是一個地址映射表,你可以通過設置將復雜的url簡化,例如我們要請求的地址是api.xxxxxxxx.com/list/1,可以按照如下設置:
proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', pathRewrite: { '^/list': '/list' } } }
這樣我們在寫url的時候,只用寫成/list/1就可以代表api.xxxxxxxx.com/list/1.
那么又是如何解決跨域問題的呢?其實在上面的'list'的參數里有一個changeOrigin參數,接收一個布爾值,如果設置為true,那么本地會虛擬一個服務端接收你的請求并代你發送該請求,這樣就不會有跨域問題了,當然這只適用于開發環境。增加的代碼如下所示:
proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', changeOrigin: true, pathRewrite: { '^/list': '/list' } } }
vue-cli的這個設置來自于其使用的插件http-proxy-middleware
github:https://github.com/chimurai/http-proxy-middleware
深入了解的話可以看該插件配置說明,似乎還支持websocket,很強大的插件。
以上是“Vue-cli proxyTable如何解決開發環境的跨域問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。