在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  C++  HTML/ vue-cli中使用proxyTable代理后,文件打包上線前是不是需要把接口都

vue-cli中使用proxyTable代理后,文件打包上線前是不是需要把接口都手動修改為線上接口?

前端菜鳥一枚,最近自己在看vue-cli中的proxyTable代理接口,但是自己有個疑問,就是在開發(fā)環(huán)境中代理的接口和線上正式的接口地址不一樣,是不是需要手動都手動修改為線上接口才可以打包編譯上線呢?
但是這種太繁瑣了,我覺得應該不是這樣,哪位指點迷津一下^_^
圖片描述

回答
編輯回答
焚音

不需要的,proxyTable 只是在開發(fā)環(huán)境中起到代理的作用,解決開發(fā)環(huán)境的跨域問題;項目打包放到線上,需要后臺的配置下Nginx解決跨域問題。

2018年6月22日 18:28
編輯回答
別瞎鬧

答案肯定是不需要的,可以參考下vue-cli 搭建的項目處理不同環(huán)境下請求不同域名的問題,如果有幫助的話可以幫忙給個star

2017年3月22日 03:29
編輯回答
櫻花霓

首先你的配置沒有問題,可能你沒理解其中的原理,且看我下面的分析:

舉個例子:你生產(chǎn)環(huán)境要請求的地址為www.baidi.com:8080/aa/bb

你在開發(fā)時,proxyTable的配置應該為:
注意:下面的aa不是隨便起的名字,必須為aa

'/aa': {
        target: 'www.baidi.com:8080/aa', 
        changeOrigin: true,
        pathRewrite: {
          '^/aa': ''
     }
    

項目中請求的地址應該為 axios.get('/aa/bb'),代理解析時會在aa前面加上"www.baidi.com:8080/aa"變成了"www.baidi.com:8080/aa/aa/bb",

但是由于配置中的pathRewrite把aa(第二個aa)改為空字符串,所以請求地址變?yōu)?www.baidi.com:8080/aa/bb",

在項目打包上線時,代碼里的請求地址不需要改動,下面我來說為什么,

線上代碼運行時,碰到axios.get('/aa/bb')請求,因為在aa的前面有個"/",表示根目錄的意思,

所以"/aa/bb"會被解析為hostname+port+"aa/bb",所以請求地址就為"www.baidi.com:8080/aa/bb",

沒有一點毛病,不知道你看明白了沒

最近發(fā)現(xiàn)很多人最這一塊不是很理解,我晚上會寫一篇關于這方面的文章,明天給你貼地址

2017年11月29日 11:22