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数组去重方法终极总结
Jun 05 Javascript
Javascript字符串对象的常用方法简明版
Jun 26 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
Sep 01 Javascript
jquery中添加属性和删除属性
Jun 03 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
Feb 08 Javascript
基于JavaScript实现飘落星星特效
Aug 10 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
Sep 06 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
Jul 21 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
详解vue-router传参的两种方式
Sep 10 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
Jan 08 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函数
2008/10/03 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP闭包函数详解
2016/02/13 PHP
Symfony控制层深入详解
2016/03/17 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
PHP7 windows支持
2021/03/09 PHP
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
你未必知道的JavaScript和CSS交互的5种方法
2014/04/02 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
Koa从零搭建到Api实现项目的搭建方法
2019/07/30 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python根据出生年份简单计算生肖的方法
2015/03/27 Python
python实现决策树分类
2018/08/30 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
django使用graphql的实例
2020/09/02 Python
serialVersionUID具有什么样的特征
2014/02/20 面试题
2014年安全生产目标责任书
2014/07/23 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
解除施工合同协议书
2014/10/17 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL