配置proxyTable解決開發(fā)環(huán)境的跨域問題(強勢補充,如果你還沒解決稍走,請看這里)

無數(shù)的人學習vue袁翁,都要面臨開發(fā)跨域的問題。

雖然百度出有解決辦法婿脸,依然有一半多的童鞋依樣畫葫蘆粱胜,還是沒搞定。

到底如何理解proxyTable狐树,下面直入正題焙压。

核心:proxyTable配置的代理是把服務器端(另一個域)代理到開發(fā)環(huán)境的域

核心:proxyTable配置的代理是把服務器端(另一個域)代理到開發(fā)環(huán)境的

核心:proxyTable配置的代理是把服務器端(另一個域)代理到開發(fā)環(huán)境的

重要的事情,說3遍抑钟。是把另一個域代理回本地涯曲。

說以,不要理解成我的所有服務器端接口沒有api目錄在塔。配置里多了個/api路徑幻件,不適合我

如果你配置完成,瀏覽器F12蛔溃,查看網(wǎng)絡绰沥,發(fā)現(xiàn)ajax請求的URL是localhost:8080/api/……你可能會疑惑,我的api接口怎么變成vue開發(fā)的域了了贺待?恭喜你代理已經(jīng)成功了徽曲,如果還沒OK,都是一些url的小問題了麸塞。

說明:

以下都參照我的環(huán)境來舉例秃臣,我前端開發(fā)是localhost:8080,請求的所有api是www.abc.com(我是添加了hosts的喘垂,如果你服務端是類似localhost:9527或其它甜刻,請自行修改)

1绍撞、/config/index.js,別看到路徑多了個api就覺得不適合得院,你就離開了傻铣,其實就是要這樣

proxyTable: {

? '/api': {

? ? target:'http://www.abc.com',?

? ? changeOrigin:true,

? ? pathRewrite: {

? ? ? '^/api':''

? ? }

? }

},

2、ajax請求的url祥绞,真實的服務端url是http://www.abc.com/login非洲,前端請改寫成/api/login

this.$http.get('/api/login').then(……)

如果你配置OK,瀏覽器F12蜕径,查看ajax請求的網(wǎng)絡两踏,會看到請求信息:

Request URL:? http://localhost:8080/api/login

恭喜你,大功告成了兜喻。服務端的http://www.abc.com/login被代理到開發(fā)環(huán)境下/api了梦染,其實就是要這樣。

再次重申朴皆,核心:proxyTable配置的代理是把服務器端代理到開發(fā)環(huán)境的node站點

這樣的問題是開發(fā)環(huán)境和正式環(huán)境又如何兼容呢帕识?我的做法是:

把所有異步請求的url都統(tǒng)一放到全局變量的,比如在一個api.js里面

const BaseUrl =? process.env.NODE_ENV=='production'? '':'/api';

//如果是正式環(huán)境遂铡,其實不需要域名肮疗,本身打包發(fā)布后就放到主域名下的,所以前綴可以為空字符串扒接。

//如果你都想加上域名伪货,可以自行根據(jù)開發(fā)的環(huán)境變量判斷取值,如process.env.NODE_ENV=='production'? process.env.BASE_API:'/api'

//我的這個evn.BASE_API的全局環(huán)境變量是在config/dev.env.js配置的钾怔,請自行對照配置

global.API_URL= {

'login':? ? ? ? ? ? ? BaseUrl +'/login',

……

使用的時候

this.$http.get(API_URL.login).then(……

其他補充:

1碱呼、如果你封裝了axios,那么開發(fā)模式千萬別再加baseURL參數(shù)了蒂教。

如果要加巍举,也記得先判斷環(huán)境 process.env.NODE_ENV=='production'?

2、這個方法不需要api接口的后端配置 Access-Control-Allow-Origin: *

意味著凝垛,如果是分離開發(fā)懊悯,你不用麻煩后端童鞋。

總之這個proxyTable好處多多梦皮。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末炭分,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子剑肯,更是在濱河造成了極大的恐慌捧毛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異呀忧,居然都是意外死亡师痕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門而账,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胰坟,“玉大人,你說我怎么就攤上這事泞辐”屎幔” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵咐吼,是天一觀的道長吹缔。 經(jīng)常有香客問我,道長锯茄,這世上最難降的妖魔是什么厢塘? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮撇吞,結(jié)果婚禮上俗冻,老公的妹妹穿的比我還像新娘。我一直安慰自己牍颈,他們只是感情好,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布琅关。 她就那樣靜靜地躺著煮岁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涣易。 梳的紋絲不亂的頭發(fā)上画机,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音新症,去河邊找鬼步氏。 笑死,一個胖子當著我的面吹牛徒爹,可吹牛的內(nèi)容都是我干的荚醒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼隆嗅,長吁一口氣:“原來是場噩夢啊……” “哼界阁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起胖喳,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤泡躯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體较剃,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡咕别,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了写穴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惰拱。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖确垫,靈堂內(nèi)的尸體忽然破棺而出弓颈,到底是詐尸還是另有隱情,我是刑警寧澤删掀,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布翔冀,位于F島的核電站,受9級特大地震影響披泪,放射性物質(zhì)發(fā)生泄漏纤子。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一款票、第九天 我趴在偏房一處隱蔽的房頂上張望控硼。 院中可真熱鬧,春花似錦艾少、人聲如沸卡乾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幔妨。三九已至,卻和暖如春谍椅,著一層夾襖步出監(jiān)牢的瞬間误堡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工雏吭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锁施,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓杖们,卻偏偏與公主長得像悉抵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子胀莹,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容