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中使用CSS3实现内容无缝滚动的示例代码
Nov 27 Vue.js
vue $router和$route的区别详解
Dec 02 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
如何在Vue项目中添加接口监听遮罩
Jan 25 Vue.js
Vite和Vue CLI的优劣
Jan 30 Vue.js
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
一篇文章告诉你如何实现Vue前端分页和后端分页
Feb 18 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的变量总结 新手推荐
2011/04/18 PHP
PHP中读写文件实现代码
2011/10/20 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
JavaScript 学习笔记(五)
2009/12/31 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
js控制文本框只输入数字和小数点的方法
2015/03/10 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
Python实现的简单万年历例子分享
2014/04/25 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
Django实现分页功能
2018/07/02 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
英国电子专家:maplin
2019/09/04 全球购物
面试自我评价范文
2014/09/17 职场文书
2015年教师师德师风承诺书
2015/04/28 职场文书
驳回起诉裁定书
2015/05/19 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android
PHP正则表达式之RCEService回溯
2022/04/11 PHP