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 相关文章推荐
<script defer> defer 是什么意思
May 10 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 Javascript
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
May 15 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
Mar 26 Javascript
js实现的捐赠管理完整实例
Jan 20 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
全面解析Angular中$Apply()及$Digest()的区别
Aug 04 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
vue双向绑定数据限制长度的方法
Nov 04 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
Jquery使用each函数实现遍历及数组处理
Jul 14 jQuery
vue路由结构可设一层方便动态添加路由操作
Aug 31 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
PHP初学者头疼问题总结
2006/07/08 PHP
php的header和asp中的redirect比较
2006/10/09 PHP
php除数取整示例
2014/04/24 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
PHP实现微信申请退款功能
2018/10/01 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
AngularJS 表达式详细讲解及实例代码
2016/07/26 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
详解Node 定时器
2018/02/26 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
详解Python locals()的陷阱
2019/03/26 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
django序列化serializers过程解析
2019/12/14 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
一些网络技术方面的面试题
2014/05/01 面试题
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
大学计划书范文800字
2014/08/14 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
html5表单的required属性使用
2021/07/07 HTML / CSS
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android