Vue axios和vue-axios的关系及使用区别

 更新时间:2022年08月04日 14:16:09   作者:张童瑶  
axios是基于promise的HTTP库,可以使用在浏览器和node.js中,它不是vue的第三方插件,vue-axios是axios集成到Vue.js的小包装器,可以像插件一样安装使用:Vue.use(VueAxios, axios),本文给大家介绍Vue axios和vue-axios关系,感兴趣的朋友一起看看吧

axios和vue-axios的关系/区别

1、axios是基于promise的HTTP库,可以使用在浏览器和node.js中,它不是vue的第三方插件
2、axios使用的时候不能像vue的插件(如:Vue-Router、VueX等)通过Vue.use()安装插件,需要在原型上进行绑定使用:Vue.prototype.$http = axios;
3、vue-axiosaxios集成到Vue.js的小包装器,可以像插件一样安装使用:Vue.use(VueAxios, axios);

axios和vue-axios的使用方式区别

1、axios使用方式

npm install --save axios
# 在入口文件main.js中配置
import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$http = axios
# 第三步:使用案例
this.$http.get('/user?id=666').then((response) => {
  console.log(response.data)
}).catch( (error) => {
    console.log(error);
});

2、vue-axios使用方式

npm install --save vue-axios
# 或者
npm install --save axios vue-axios
#在入口文件main.js中配置
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
 
Vue.use(VueAxios, axios)
#第三步:使用方式有如下三种
#方式1
Vue.axios.get(api).then((response) => {
  console.log(response.data)
})
#方式2
this.axios.get(api).then((response) => {
  console.log(response.data)
})
#方式3
this.$http.get(api).then((response) => {
  console.log(response.data)
})

axios和vue-axios的使用哪一种较好

使用 Vue 的插件写法,更符合 Vue 整体生态环境。而直接写原型链,感觉有些粗暴了,除非是很底层的实现,否则不太推荐这样写了。因此,我们更推荐使用vue-axios插件的方式,不太推荐是直接使用axios的方式。

vue-axios-plugin插件的使用

在使用axios或vue-axios时我们基本都会需要配置axios的拦截器,对axios的请求、响应进行二次封装, 会多一道工作。作为一名程序员,切记不要重复造轮子。在vue项目当中,可以使用vue-axios-plugin插件。使用步骤如下:

#第一步:首先通过 npm 安装
npm install --save vue-axios-plugin
#然后在main.js入口文件配置如下:
mport Vue from 'Vue'
import VueAxiosPlugin from 'vue-axios-plugin'
 
Vue.use(VueAxiosPlugin, {
  // 第二步:请求拦截处理
  reqHandleFunc: config => config,
  reqErrorFunc: error => Promise.reject(error),
  // 响应拦截处理
  resHandleFunc: response => response,
  resErrorFunc: error => Promise.reject(error)
})
#第三步:使用案例
#在 Vue 组件上添加了 $http 属性, 它默认提供 get 和 post 方法,使用如下
this.$http.get(url, data, options).then((response) => {
  console.log(response)
})
this.$http.post(url, data, options).then((response) => {
  console.log(response)
})
#你也可以通过 this.$axios 来使用 axios 所有的 api 方法,比如:
this.$axios.get(url, data, options).then((response) => {
  console.log(response)
})
 
this.$axios.post(url, data, options).then((response) => {
  console.log(response)
})

axios插件文档:http://www.axios-js.com/zh-cn/docs/vue-axios-plugin.html

到此这篇关于Vue axios和vue-axios的关系及使用区别的文章就介绍到这了,更多相关Vue axios和vue-axios关系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Vue前端生产环境发布配置实战篇

    详解Vue前端生产环境发布配置实战篇

    这篇文章主要介绍了详解Vue前端生产环境发布配置实战篇,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 使用Element进行前端开发的详细图文教程

    使用Element进行前端开发的详细图文教程

    众所周知Element是一套Vue.js后台组件库,它能够帮助你更轻松更快速地开发后台项目,下面这篇文章主要给大家介绍了关于使用Element进行前端开发的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • vue项目实现下载zip压缩包

    vue项目实现下载zip压缩包

    这篇文章主要介绍了vue项目实现下载zip压缩包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue 解决uglifyjs-webpack-plugin打包出现报错的问题

    vue 解决uglifyjs-webpack-plugin打包出现报错的问题

    这篇文章主要介绍了vue 解决uglifyjs-webpack-plugin打包出现报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 使用el-row及el-col页面缩放时出现空行的问题及解决

    使用el-row及el-col页面缩放时出现空行的问题及解决

    这篇文章主要介绍了使用el-row及el-col页面缩放时出现空行的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue监听input标签的value值方法

    vue监听input标签的value值方法

    今天小编就为大家分享一篇vue监听input标签的value值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建过程

    Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建过程

    Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率,这篇文章主要介绍了Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建,需要的朋友可以参考下
    2023-09-09
  • vue checkbox 全选 数据的绑定及获取和计算方法

    vue checkbox 全选 数据的绑定及获取和计算方法

    下面小编就为大家分享一篇vue checkbox 全选 数据的绑定及获取和计算方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 详解Vue router路由

    详解Vue router路由

    这篇文章主要为大家介绍了Vue 的router路由,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • 解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory

    解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory

    这篇文章主要介绍了解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12

最新评论