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基础整理1
Dec 06 Javascript
JS控件的生命周期介绍
Oct 22 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
Oct 27 Javascript
通过JS获取Request.QueryString()参数的值实现方法
Sep 27 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
Dec 25 Javascript
angular2 组件之间通过service互相传递的实例
Sep 30 Javascript
javascript Canvas动态粒子连线
Jan 01 Javascript
小程序分享链接onShareAppMessage的具体用法
May 22 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
May 22 Javascript
关于Js中new操作符的作用详解
Feb 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 计划任务 检测用户连接状态
2012/03/29 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
php输出图像的方法实例分析
2017/02/16 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
JavaScript中的eval()函数详解
2013/08/22 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
python中zip()方法应用实例分析
2016/04/16 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
使用python list 查找所有匹配元素的位置实例
2019/06/11 Python
Python: 传递列表副本方式
2019/12/19 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
思想专业自荐信范文
2013/12/25 职场文书
策划总监岗位职责
2014/02/16 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
租车协议书范本2014
2014/11/17 职场文书
关于元旦的广播稿2016
2015/12/17 职场文书
学校体育节班级口号
2015/12/25 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python