国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue多環境代理配置方法思路詳解

2024-05-06 15:37:41
字體:
來源:轉載
供稿:網友

背景:

多人協作模式下,修改代理比較麻煩,而且很容易某個開發人員會修改了vue.config.js文件后提交了。

第一,很容易引起沖突。

第二,很容易出現代理錯誤,需要排查。而且現在微服務盛行,在生產環境下有網關配置,不會出錯,但是在本地調試會造成麻煩,如修改了代理地址需要同步修改代理中的地址,很麻煩也很容易出錯。

解決思路:

1.開發中定義常量js文件,例如constants.js。用戶存放各個服務需要代理的服務名。

let api = ""  let loginServer = "/loginServer"  let businessServer = "/businessServe"  if(process.env.NODE_ENV == "development"){    api = "/api"    loginServer = api + LoginServer    businessServer = api + businessServer  }  export {    loginServer,    businessServer  }

其中api為代理規則中配置,loginServer為服務名,可根據業務需要替換在實際的業務中就可以這么用

import {loginServer} from 'constants' function login(params){  return axios.post(loginServer+"/login",params) }

其中 loginServer為服務名,login為方法名,params為參數。

在vue.config.js中配置代理

modules.exports = {  publicPath:"/" ,  devServer: {    port: 8080,    proxy:{     '/api/loginServer':{       target:"http://localhost:8080",       ws:true,       changeOrigin:true,       pathRewrite:{         '^/api':'/'       }     },      '/api/businessServer':{       target:"http://localhost:8081",       ws:true,       changeOrigin:true,       pathRewrite:{         '^/api':'/'       }     }    }  }}

這么配置可以滿足需求,但是會有多人改動vue.config.js的情況,造成以上說的錯誤。

解決方案:

vue中提供了 --mode 模式,并提供了 .env.local 等文件,此文件被git忽略,且可根據當前 mode設置的值尋找環境變量配置,例如 --mode=dev ,則.env.dev.local 或.env.dev 等文件中的配置會生效,.local文件會被git忽略,因此咱們用這個,--mode設置在 package.json中,在npm run serve 中添加

script:{"serve":"vue-cli-service serve --mode=dev"}

在項目根目錄下jianli .env.dev.local文件,文件中添加 以下鍵值對(此文件中只接受鍵值對

.env.dev.local

loginServerURL =http://localhost:8080businessServerURL = http://localhost:8081

當然可根據不同的模式建立不同的local文件

.env.prod.local等

vue.config.js中改寫

modules.exports = {  publicPath:"/" ,  devServer: {    port: 8080,    proxy:{     '/api/loginServer':{       target:process.env.loginServerURL?process.env.loginServerURL:"httpL//localhost:8080",       ws:true,       changeOrigin:true,       pathRewrite:{         '^/api':'/'       }     },      '/api/businessServer':{       target:process.env.loginServerURL?process.env.businessServerURL :"http://localhost:8081",       ws:true,       changeOrigin:true,       pathRewrite:{         '^/api':'/'       }     }    }  }}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 喀什市| 景宁| 边坝县| 玉溪市| 裕民县| 周宁县| 靖江市| 清新县| 武鸣县| 灌阳县| 资兴市| 绥德县| 都江堰市| 兴业县| 扎鲁特旗| 加查县| 湾仔区| 西丰县| 辛集市| 焉耆| 长阳| 资溪县| 区。| 社旗县| 沁水县| 章丘市| 锡林浩特市| 湾仔区| 镇江市| 西乌珠穆沁旗| 新竹县| 巨鹿县| 河东区| 砀山县| 寿阳县| 北海市| 青神县| 新和县| 堆龙德庆县| 繁昌县| 蓬安县|