vue-cli之webpack的proxyTable無效的解決方案


最近遇到這個需要單頁訪問跨域后台的問題

可以按照如下設置:

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'
}
}
}

遇到了網上很多人說的,proxyTable無論如何修改,都沒效果的現象。

1.(非常重要)確保proxyTable配置的地址能訪問,因為如果不能訪問,在瀏覽器F12調試的時候看到的依然會是提示404。
並且注意,在F12看到的js提示錯誤的域名,是js寫的那個域名,並不是代理后的域名。(l樓主就遇到這個問題,后端地址缺少了查詢參數,代理設置為后端地址,然而F12看到的錯誤依然還是本地的域名,並不是代理后的域名)

2.就是要手動再執行一次npm run dev


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM