vue-cli 引入、配置axios的方法

 更新时间:2018年05月08日 11:43:19   作者:zeroyulong  
这篇文章主要介绍了vue-cli 引入axios的方法,文中还给大家提到了vue-cli 配置axios的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

一、npm 安装axios,文件根目录下安装,指令如下

npm install axios --save-dev 

二、修改原型链,在main.js中引入axios

import axios from 'axios' 

接着将axios改写为Vue的原型属性,

Vue.prototype.$http=axios 

这样之后就可在每个组件的methods中调用$http命令完成数据请求

三、在组件中使用

methods: { 
   get(){ 
    this.$http({ 
     method:'get', 
     url:'/url', 
     data:{} 
    }).then(function(res){ 
     console.log(res) 
    }).catch(function(err){ 
     console.log(err) 
    }) 
     
    this.$http.get('/url').then(function(res){ 
     console.log(res) 
    }).catch(function(err){ 
     console.log(err) 
    }) 
   }    
}        

有关axios的配置请参考如下文档,点击打开链接

下面给大家介绍下vue-cli配置axios的方法

1.

npm install axios --save

2.

npm install @type/axios --save-dev(使用ts编写的需要此声明文件,升级的axios好像不需要了,已经自带)

3.

在src目录下添加axios.ts文件,内容:

import axios from 'axios'
import {Notification} from 'element-ui'
import store from './store/index'
import buildconf from '../config/build.rootpath.js'
axios.defaults.withCredentials = true;
axios.defaults.baseURL = buildconf.serverUrl
// axios.defaults.baseURL = 'http://gsblackwidow.chinacloudsites.cn/'
axios.interceptors.request.use(function(config) {
 // document.getElementById('g-loader').style.display = 'flex'
 store.commit('requestModify', 1)
 return config;
}, function(error){
 return Promise.reject(error)
})
axios.interceptors.response.use(function(response){
 store.commit('requestModify', -1)
 // document.getElementById('g-loader').style.display = 'none' 
 return response.data;
}, function(error){
 store.commit('requestModify', -1) 
 // document.getElementById('g-loader').style.display = 'none'  
 if(error.response.status === 401){
  Notification({
   title: '权限无效',
   message: '您的用户信息已经失效, 请重新登录',
   type: 'warning',
   offset: 48
  });
  window.location.href = '/#/login'
 }else{
  Notification({
   title: '请求错误',
   message: `${error.response.status} \n ${error.config.url}`,
   type: 'error',
   offset: 48,
  })
 }
 return Promise.reject(error)
})
export default axios

4.

types文件夹中新建vue.d.ts文件,内容:

import {AxiosStatic, AxiosInstance } from 'axios'
declare module 'vue/types/vue' {
 interface Vue {
  $axios: AxiosStatic;
 }
}

这样就可以在各个模块中通过this.$axios来使用axios了

其中axios中:

1. build.rootpath.js内容:

var path = require('path')
var rootpath = path.resolve(__dirname, '../dist')
module.exports = rootpath

2. store是vuex的文件,所以要事先安装vuex

总结

以上所述是小编给大家介绍的vue-cli 引入、配置axios的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 脚手架vue-cli工程webpack的基本用法详解

    脚手架vue-cli工程webpack的基本用法详解

    这篇文章主要介绍了vue-cli工程webpack的基本用法,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-09-09
  • VueJS页面渲染之后如何调用函数

    VueJS页面渲染之后如何调用函数

    这篇文章主要介绍了VueJS页面渲染之后如何调用函数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue定时器清除不掉,导致功能频繁执行问题

    vue定时器清除不掉,导致功能频繁执行问题

    这篇文章主要介绍了vue定时器清除不掉,导致功能频繁执行问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue3使用hooks解决字典数据的显示问题

    Vue3使用hooks解决字典数据的显示问题

    我们在使用 element-plus的时候,经常会使用一些字典数据, 在搜索框的时候,字典数数要使用 el-select el-option 来显示,但是经常会遇到字典数据的显示问题,所以本文给大家介绍了Vue3使用hooks解决字典数据的显示问题,需要的朋友可以参考下
    2024-12-12
  • IE9 elementUI文件上传的问题解决

    IE9 elementUI文件上传的问题解决

    这篇文章主要介绍了IE9 elementUI文件上传的问题解决,有需要了解IE9 elementUI文件上传的朋友可参考。希望此文章对各位有所帮助
    2018-10-10
  • Element-UI控件Tree实现数据树形结构的方法

    Element-UI控件Tree实现数据树形结构的方法

    这篇文章主要介绍了Element-UI控件Tree实现数据树形结构,本期介绍添加、修改等功能也比较简单,可以通过element-ui的$prompt弹框控件来实现,需要的朋友可以参考下
    2024-01-01
  • 解决vue3报错:找不到模块或其相应的类型声明

    解决vue3报错:找不到模块或其相应的类型声明

    这篇文章主要给大家介绍了关于如何解决vue3报错:找不到模块或其相应的类型声明的相关资料,这个错误提示是指在代码中引用了Vue模块,但是系统找不到该模块或者缺少相应的类型声明文件,需要的朋友可以参考下
    2023-07-07
  • vue中for循环作用域问题处理方式

    vue中for循环作用域问题处理方式

    这篇文章主要介绍了vue中for循环作用域问题处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 深入理解使用Vue实现Context-Menu的思考与总结

    深入理解使用Vue实现Context-Menu的思考与总结

    这篇文章主要介绍了使用Vue实现Context-Menu的思考与总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 基于vue1和vue2获取dom元素的方法

    基于vue1和vue2获取dom元素的方法

    下面小编就为大家分享一篇基于vue1和vue2获取dom元素的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论