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 相关文章推荐
vue+iview分页组件的封装
Nov 17 Vue.js
详解Vue的mixin策略
Nov 19 Vue.js
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
用vue设计一个日历表
Dec 03 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
Vue h函数的使用详解
Feb 18 Vue.js
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
vue特效之翻牌动画
Apr 20 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使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP连接MySQL数据库操作代码实例解析
2020/07/11 PHP
用JavaScript页面不刷新时全选择,全删除(GridView)
2009/04/14 Javascript
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
jquery each()源代码
2011/02/14 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
AngularJS 应用模块化的使用
2018/04/04 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
Python的lambda匿名函数的简单介绍
2013/04/25 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
Python中if有多个条件处理方法
2020/02/26 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
python中字典增加和删除使用方法
2020/09/30 Python
中学老师的自我评价
2013/11/07 职场文书
应届毕业生专业个人求职自荐信格式
2013/11/20 职场文书
护士自我评价范文
2014/01/25 职场文书
一年级学生评语
2014/04/23 职场文书
门店业绩提升方案
2014/06/08 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2015年高校教师个人工作总结
2015/05/25 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android