vue axios 给生产环境和发布环境配置不同的接口地址(推荐)

 更新时间:2018年05月08日 11:35:50   作者:zeroyulong  
这篇文章主要介绍了vue axios 给生产环境和发布环境配置不同的接口地址,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

本项目是vue-cli搭建的项目框架,引入axios用于数据请求。配置不同的接口地址,(首先确保已经集成了axios,如对集成axios有疑问的道友,可参看我之间的一篇vue-cli 引入axios)操作如下

一、设置不同的接口地址

找到如下文件

/config/dev.env.js

/config/prod.env.js

之后增加接口地址域名配置,增加后的文件内容如下


二、在自己重新封装的axios文件中(api/api.js),将配置好的接口地址作为baseURL拼接到接口路径中

详细的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),修改好的文件如下图所示

四、在页面中调用,测试是否生效,开发环境调通后,build之后查看正式环境是否也生效

直接调用ajax请求

export default {  
 created(){ 
  this.$http.post('Web/test',null, res => { 
  console.log(res) 
  }) 
 } 
} 

总结

以上所述是小编给大家介绍的vue axios 给生产环境和发布环境配置不同的接口地址,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Vue源码分析之虚拟DOM详解

    Vue源码分析之虚拟DOM详解

    所谓虚拟DOM就是为了解决浏览器性能问题而被设计出来的。如前,若一次操作中有 10 次更新 这篇文章主要给大家介绍了关于Vue源码分析之虚拟DOM的相关资料,需要的朋友可以参考下
    2021-05-05
  • vue+elementui 对话框取消 表单验证重置示例

    vue+elementui 对话框取消 表单验证重置示例

    今天小编就为大家分享一篇vue+elementui 对话框取消 表单验证重置示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Spring boot 和Vue开发中CORS跨域问题解决

    Spring boot 和Vue开发中CORS跨域问题解决

    这篇文章主要介绍了Spring boot 和Vue开发中CORS跨域问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Vue宝典之this.$refs属性的使用

    Vue宝典之this.$refs属性的使用

    Vue.js中的refs属性是一个非常有用的特性,它允许我们在组件中操作 DOM 元素和组件实例,本文来介绍一下Vue宝典之this.$refs属性的使用,感兴趣的可以了解一下
    2023-12-12
  • 基于vue.js快速搭建图书管理平台

    基于vue.js快速搭建图书管理平台

    Vue.js是当下很火的一个JavaScript MVVM(Model-View-ViewModel)库.这篇文章主要介绍了基于vue.js快速搭建图书管理平台 ,需要的朋友可以参考下
    2017-10-10
  • vue配置代理服务器proxy 多种方法示例详解

    vue配置代理服务器proxy 多种方法示例详解

    这篇文章主要介绍了vue配置代理服务器proxy 多种方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • vue中echarts图表大小适应窗口大小且不需要刷新案例

    vue中echarts图表大小适应窗口大小且不需要刷新案例

    这篇文章主要介绍了vue中echarts图表大小适应窗口大小且不需要刷新案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue导航守卫使用教程详解

    Vue导航守卫使用教程详解

    这篇文章主要介绍了Vue导航守卫使用教程,可以向任意给定的导航守卫传递next,但是next的使用过程容易出错,需要确保next在任何给定的导航守卫中都被严格调用一次
    2023-04-04
  • Vue3+vueuse实现放大镜示例详解

    Vue3+vueuse实现放大镜示例详解

    这篇文章主要为大家介绍了Vue3+vueuse实现放大镜示例过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue使用MD5对前后端进行加密的实现

    Vue使用MD5对前后端进行加密的实现

    前后端分离的项目,遇到了对密码进行加密的情况,在前端或者是在后端加密都是可以的,本文主要介绍了Vue使用MD5对前后端进行加密的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论