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 相关文章推荐
Google韩国首页图标动画效果
Aug 26 Javascript
JS 控制非法字符的输入代码
Dec 04 Javascript
微信小程序 石头剪刀布实例代码
Jan 04 Javascript
微信小程序利用co处理异步流程的方法教程
May 20 Javascript
详解http访问解析流程原理
Oct 18 Javascript
vue的传参方式汇总和router使用技巧
May 22 Javascript
JavaScript设计模式之责任链模式实例分析
Jan 16 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
Mar 08 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
js实现无缝轮播图
Mar 09 Javascript
js实现右键弹出自定义菜单
Sep 08 Javascript
一道JS算法面试题——冒泡、选择排序
Apr 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 Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
thinkphp框架实现数据添加和显示功能
2016/06/29 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
vue中使用codemirror的实例详解
2018/11/01 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
珍珠奶茶店创业计划书
2014/01/11 职场文书
中年人生感言
2014/02/04 职场文书
低碳环保演讲稿
2014/08/28 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技