vue 在服务器端直接修改请求的接口地址


Posted in Vue.js onDecember 19, 2020

一个项目可能有很多环境,开发,测试,预生产,生产等环境,如果每一个环境都需要重新打包会显得比较麻烦,那么如何解决这个问题呢

在vue和uniapp中以及其他框架下的都是可以按照如下操作来解决的

在静态资源下新建一个env.json,vue项目是在public文件下新建,uniapp是在static下新建文件

文件格式如下

{
  "name": "development",
  "base": "/customer"
}

name,代表的是环境,方便直接在服务器上查看当前是什么环境的,base是请求的地址,如果服务器没有做代理的话,这里的base应该是完整的请求地址http:// xxxxx.com/customer,类似这种

一般人在处理的时候总是获取不到这个env.json里的地址,是因为,这里是因为异步导致的,如果要解决的话,可以在main.js或者是main.ts中如何操作

axios.get('./env.json')
 .then(function (res: any) {
  // handle success

Vue.prototype.BASE_URL = res.data.base;
  new Vue({
   router,
   store,
   render: h => h(App)
  }).$mount('#app')
 })

这样有个问题就是一定是在请求这个json成功之后项目才会开始渲染的,这个时间可以做一个加载动画,请求应该是很快的,如果请求失败,你可以在axios里做一个catch操作,给一个友好的提示什么的,进行重新请求

那么如何获取了?

可以在拦截器中进行获取然后拼接请求地址

在拦截器的那个js文件中

function getBaseUrl() {
  return Vue.prototype.BASE_URL
}

最后在传入url的时候进行拼接,如下
url: getBaseUrl() + opts.url, // opts是传过来的参数对象

就这样就可以正常请求了

一般开发环境下你env.json里可以配置你的开发地址,最后通过自动化打包部署到服务器上去之后,如果要换成其他环境(测试,预生产,生产)的地址,可以直接在服务器上直接修改这个env.json文件即可,

大功告成,哈哈

以上就是vue 在服务器端直接修改请求的接口地址的详细内容,更多关于vue 修改请求接口地址的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
如何管理Vue中的缓存页面
Feb 06 Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
vue使用节流函数的踩坑实例指南
May 20 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
vue使用watch监听属性变化
Apr 30 Vue.js
vue 通过base64实现图片下载功能
Dec 19 #Vue.js
Vue中computed和watch有哪些区别
Dec 19 #Vue.js
Vue与React的区别和优势对比
Dec 18 #Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 #Vue.js
vue+elementUI动态增加表单项并添加验证的代码详解
Dec 17 #Vue.js
vue 数据操作相关总结
Dec 17 #Vue.js
Vue 组件注册全解析
Dec 17 #Vue.js
You might like
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
详解php命令注入攻击
2019/04/06 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
jQuery解决下拉框select设宽度时IE 6/7/8下option超出显示不全
2013/05/27 Javascript
判断js对象是否拥有某一个属性的js代码
2013/08/16 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
js动态添加带圆圈序号列表的实例代码
2021/02/18 Javascript
python获得图片base64编码示例
2014/01/16 Python
Python获取央视节目单的实现代码
2015/07/25 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python os模块常用方法和属性总结
2020/02/20 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
用python批量移动文件
2021/01/14 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
文科生自我鉴定
2014/02/15 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
倡议书的格式写法
2015/04/28 职场文书
Go 语言结构实例分析
2021/07/04 Golang