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 Teleport 的实践及原理
Dec 02 Vue.js
Vue如何实现验证码输入交互
Dec 07 Vue.js
详解Vue中的自定义指令
Dec 07 Vue.js
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
vite+vue3.0+ts+element-plus快速搭建项目的实现
Jun 24 Vue.js
Vue组件化(ref,props, mixin,.插件)详解
May 15 Vue.js
Vue router配置与使用分析讲解
Dec 24 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
Zend 输出产生XML解析错误
2009/03/03 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
jQuery动态改变多行文本框高度的方法
2016/09/07 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
Vue-resource安装过程及使用方法解析
2020/07/21 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
python fabric使用笔记
2015/05/09 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python函数生成器原理及使用详解
2020/03/12 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Python中无限循环需要什么条件
2020/05/27 Python
财务人员求职自荐书范文
2014/02/10 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
幼儿教师求职信
2014/05/24 职场文书
青奥会口号
2014/06/12 职场文书
离婚财产分配协议书
2014/10/21 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
五年级数学教学反思
2016/02/16 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫