vue axios 给生产环境和发布环境配置不同的接口地址(推荐)


Posted in Javascript onMay 08, 2018

本项目是vue-cli搭建的项目框架,引入axios用于数据请求。配置不同的接口地址,(首先确保已经集成了axios,如对集成axios有疑问的道友,可参看我之间的一篇vue-cli 引入axios)操作如下

一、设置不同的接口地址

找到如下文件

/config/dev.env.js

/config/prod.env.js

之后增加接口地址域名配置,增加后的文件内容如下

vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

二、在自己重新封装的axios文件中(api/api.js),将配置好的接口地址作为baseURL拼接到接口路径中

vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

详细的api.js文件可参考如下代码,根据自己公司项目组编码习惯可自作调整

// 配置API接口地址 
var root = process.env.API 
// 引用axios 
var axios = require('axios') 
// 自定义判断元素类型JS 
function toType (obj) { 
 return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase() 
} 
// 参数过滤函数 
function filterNull (o) { 
 for (var key in o) { 
 if (o[key] === null) { 
  delete o[key] 
 } 
 if (toType(o[key]) === 'string') { 
  o[key] = o[key].trim() 
 } else if (toType(o[key]) === 'object') { 
  o[key] = filterNull(o[key]) 
 } else if (toType(o[key]) === 'array') { 
  o[key] = filterNull(o[key]) 
 } 
 } 
 return o 
} 
function apiAxios (method, url, params, success, failure) { 
 if (params) { 
 params = filterNull(params) 
 } 
 axios({ 
 method: method, 
 url: url, 
 data: method === 'POST' ? params : null, 
 params: method === 'GET' ? params : null, 
 baseURL: root, 
 withCredentials: false 
 }) 
 .then(function (res) { 
 console.log(res); 
 return; 
 if (res.data.success === true) { 
  if (success) { 
  success(res.data) 
  } 
 } else { 
  if (failure) { 
  failure(res.data) 
  } else { 
  window.alert('error: ' + JSON.stringify(res.data)) 
  } 
 } 
 }) 
 .catch(function (err) { 
 let res = err.response 
 if (err) { 
  window.alert('api error, HTTP CODE: ' + res.status) 
  return 
 } 
 }) 
} 
// 返回在vue模板中的调用接口 
export default { 
 get: function (url, params, success, failure) { 
 return apiAxios('GET', url, params, success, failure) 
 }, 
 post: function (url, params, success, failure) { 
 return apiAxios('POST', url, params, success, failure) 
 } 
}

三、修改main.js,引入自己重新封装好的axios文件(api/api.js),修改好的文件如下图所示

vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

四、在页面中调用,测试是否生效,开发环境调通后,build之后查看正式环境是否也生效

直接调用ajax请求

export default {  
 created(){ 
  this.$http.post('Web/test',null, res => { 
  console.log(res) 
  }) 
 } 
}

总结

以上所述是小编给大家介绍的vue axios 给生产环境和发布环境配置不同的接口地址,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
从setTimeout看js函数执行过程
Dec 19 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
Mar 03 Javascript
基于JavaScript canvas绘制贝塞尔曲线
Dec 25 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
Sep 02 Javascript
详解JS深拷贝与浅拷贝
Aug 04 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
vue-路由精讲 二级路由和三级路由的作用
Aug 06 Javascript
js实现微信聊天效果
Aug 09 Javascript
js实现数字跳动到指定数字
Aug 25 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
May 08 #Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
May 08 #Javascript
详解基于mpvue的小程序markdown适配解决方案
May 08 #Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
May 08 #Javascript
浅谈React 服务器端渲染的使用
May 08 #Javascript
vue.js做一个简单的编辑菜谱功能
May 08 #Javascript
webstorm和.vue中es6语法报错的解决方法
May 08 #Javascript
You might like
我的论坛源代码(五)
2006/10/09 PHP
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP 多进程 解决难题
2009/06/22 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
JavaScript 过滤关键字
2017/03/20 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
[01:06:42]VP vs NewBee Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
python 容器总结整理
2017/04/04 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
化工工艺专业求职信
2013/09/22 职场文书
高中同学会活动方案
2014/08/14 职场文书
119消防日活动总结
2014/08/29 职场文书
承诺书范本大全
2015/05/04 职场文书
家长反馈意见及建议
2015/06/03 职场文书