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

鍍金池/ 問答/HTML/ vue proxytable配置了代理,但是打包后部署到線上我該如何來更換接口不

vue proxytable配置了代理,但是打包后部署到線上我該如何來更換接口不使用代理呢

vue proxytable 已經(jīng)配置成功,如何通過判斷來判斷是開發(fā)還是生產(chǎn)環(huán)境,來達(dá)成部署到線上時,接口不使用代理,直接可以訪問

回答
編輯回答
愛是癌

process.env.NODE_ENV === 'development' ? '/api' : '' 這是我項目中用到的,希望對你的幫助

2018年4月30日 10:56
編輯回答
魚梓

proxytable 只在dev的時候生效 上線之后可以采用nginx反向代理之類的方式來處理

2018年6月7日 18:55
編輯回答
瘋浪

proxyTable不建議在部署環(huán)境使用,使用nginx進(jìn)行代理

2018年4月5日 13:44
編輯回答
別瞎鬧

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

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

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

項目中請求的地址應(yīng)該為 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",沒有一點毛病,不知道你看明白了沒

2018年3月4日 09:29
編輯回答
真難過

代理設(shè)置的作用是你要訪問后端的請求直接發(fā)到當(dāng)前站點,因此你的 api 路徑都應(yīng)該是不含 hostname 的相對路徑
部署到生產(chǎn)環(huán)境時,只要相對路徑保持不變,就不需要任何設(shè)置。

如果開發(fā)環(huán)境下的 api 路徑和生產(chǎn)環(huán)境的路徑不一致,那么一定可以通過設(shè)置 proxyTable 使之一致。

因此,結(jié)論是,只要 proxyTable 設(shè)置得好,部署上線不需要做任何改動。

2017年3月20日 04:47
編輯回答
維她命

通過process.env.NODE_ENV,來判斷一下,倒是可以區(qū)分。process.env.NODE_ENV==='development'開發(fā)環(huán)境,process.env.NODE_ENV==='production'生產(chǎn)環(huán)境。

2018年1月31日 13:25
編輯回答
淺淺

通過process.NODE_ENV判斷

2018年8月20日 15:04