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实现购物车的小练习
Dec 21 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
Vue常用API、高级API的相关总结
Feb 02 Vue.js
如何在 Vue 中使用 JSX
Feb 14 Vue.js
关于vue中如何监听数组变化
Apr 28 Vue.js
使用vue-element-admin框架从后端动态获取菜单功能的实现
Apr 29 Vue.js
Vue接口封装的完整步骤记录
May 14 Vue.js
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue elementUI批量上传文件
Apr 26 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代码的50个实用技巧必备(下)
2016/01/22 PHP
php服务器的系统详解
2019/10/12 PHP
js控制input框只读实现示例
2014/01/20 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
JS原形与原型链深入详解
2020/05/09 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
Python基础入门之seed()方法的使用
2015/05/15 Python
详解Swift中属性的声明与作用
2016/06/30 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Django分组聚合查询实例分享
2020/04/29 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
世界上最大的罕见唱片、CD和音乐纪念品网上商店:991.com
2018/05/03 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
新驾驶员个人自我评价
2014/01/03 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
给全校老师的建议书
2014/03/13 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python