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 +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 Vue.js
vue在图片上传的时候压缩图片
Nov 18 Vue.js
vue中如何自定义右键菜单详解
Dec 08 Vue.js
VUE中鼠标滚轮使div左右滚动的方法详解
Dec 14 Vue.js
Vue 修改网站图标的方法
Dec 31 Vue.js
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
vue引入Excel表格插件的方法
Apr 28 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 Vue.js
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
vue el-table实现递归嵌套的示例代码
Aug 14 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生成短域名函数
2015/03/23 PHP
ThinkPHP控制器详解
2015/07/27 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
vue项目在webpack2实现移动端字体自适配功能
2020/06/02 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python 通过文件夹导入包的操作
2020/06/01 Python
css3加js做一个简单的3D行星运转效果实例代码
2017/01/18 HTML / CSS
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
采购员的工作职责
2013/12/26 职场文书
庆六一活动总结
2014/08/29 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
长征观后感
2015/06/09 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript