背景:
多人协作模式下,修改代理比较麻烦,而且很容易某个开发人员会修改了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:8080 businessServerURL = http://localhost:8081
当然可根据不同的模式建立不同的local文件
.env.prod.local等
vue.config.js中改写
modules.exports = { publicPath:"/" , devServer: { port: 8080, proxy:{ '/api/loginServer':{ target:process.env.loginServerURL"httpL//localhost:8080", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } }, '/api/businessServer':{ target:process.env.loginServerURL"http://localhost:8081", ws:true, changeOrigin:true, pathRewrite:{ '^/api':'/' } } } } }
这样就可以根据不同的环境配置不同的地址了。
总结
以上所述是小编给大家介绍的Vue多环境代理配置方法思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]