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 相关文章推荐
关于使用 jBox 对话框的提交不能弹出问题解决方法
Nov 07 Javascript
jquery easyui 结合jsp简单展现table数据示例
Apr 18 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
超实用的JavaScript表单代码段
Feb 26 Javascript
JavaScript数组方法总结分析
May 06 Javascript
javascript之Boolean类型对象
Jun 07 Javascript
一个仿微博登陆邮箱提示框js开发案例
Jul 28 Javascript
JS实现websocket长轮询实时消息提示的效果
Oct 10 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
不刷新网页就能链接新的js文件方法总结
Mar 01 Javascript
vue postcss-px2rem 自适应布局
May 15 Vue.js
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中操作ini配置文件的方法
2013/04/25 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
一起来写段JS drag拖动代码
2010/12/09 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
javascript实现数独解法
2015/03/14 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
js实现随机点名器精简版
2020/06/29 Javascript
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
window下eclipse安装python插件教程
2017/04/24 Python
python实现最长公共子序列
2018/05/22 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
详解Python中is和==的区别
2019/03/21 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python retrying模块的使用方法详解
2019/09/25 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python实现程序重启和系统重启方式
2020/04/16 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
经营理念标语
2014/06/21 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
运动会通讯稿200字
2015/07/20 职场文书
2016年元旦寄语
2015/08/17 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
详解Python常用的魔法方法
2021/06/03 Python