首页 > 编程 > JavaScript > 正文

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

2019-11-19 13:53:40
字体:
来源:转载
供稿:网友

一、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的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表