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 相关文章推荐
JSONP 跨域共享信息
Aug 16 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
Jun 06 Javascript
谷歌地图打不开的解决办法
Aug 07 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
Mar 02 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 Javascript
Javascript动画效果(4)
Oct 11 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
Jul 12 Javascript
微信小程序异步处理详解
Nov 10 Javascript
apicloud拉起小程序并传递参数的方法示例
Nov 21 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
Sep 21 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
php中使用gd库实现下载网页中所有图片
2015/05/12 PHP
jquery一般方法介绍 入门参考
2011/06/21 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
python3爬取数据至mysql的方法
2018/06/26 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
python自动化之Ansible的安装教程
2019/06/13 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
python使用ctypes调用扩展模块的实例方法
2020/01/28 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
pytorch查看通道数 维数 尺寸大小方式
2020/05/26 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
计算机专业应届毕业生自荐信
2013/09/26 职场文书
职业教育毕业生求职信
2013/11/09 职场文书
设计部经理的岗位职责
2013/11/16 职场文书
2014年纪委工作总结
2014/12/05 职场文书
档案工作个人总结
2015/03/03 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
银行求职信范文
2019/05/13 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js