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 相关文章推荐
jQuery LigerUI 使用教程表格篇(1)
Jan 18 Javascript
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
限制textbox或textarea输入字符长度的JS代码
Oct 16 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
js中生成map对象的方法
Jan 09 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
Mar 01 Javascript
laypage分页控件使用实例详解
May 19 Javascript
JS输出空格的简单实现方法
Sep 08 Javascript
详细总结Javascript中的焦点管理
Sep 17 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
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
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
php实现建立多层级目录的方法
2014/07/19 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
JavaScript 继承详解 第一篇
2009/08/30 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
改善用户体验的五款jQuery插件分享
2011/05/22 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
python psutil监控进程实例
2019/12/17 Python
python实现连连看游戏
2020/02/14 Python
伦敦一家西班牙童装精品店:La Coqueta
2018/02/02 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
入党申请书自我鉴定
2013/10/12 职场文书
小型女装店的创业计划书
2014/01/09 职场文书
英语专业求职信
2014/07/08 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript