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 + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
vue实现简易计算器功能
Jan 20 Vue.js
vue路由实现登录拦截
Mar 24 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
Vue h函数的使用详解
Feb 18 Vue.js
vue ref如何获取子组件属性值
Mar 31 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
vue数据字典取键值项目的字典问题
Apr 12 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通用分页类page.php[仿google分页]
2008/08/31 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
简单实现php上传文件功能
2017/09/21 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
javascript运动详解
2015/07/06 Javascript
JavaScript实现获得所有兄弟节点的方法
2015/07/23 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
用Python写一个for循环的例子
2016/07/19 面试题
高中生毕业自我鉴定
2013/10/10 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
故宫导游词
2015/01/31 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android
Redis全局ID生成器的实现
2022/06/05 Redis