一、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 axios请求方式及跨域处理问题
- 浅谈在Vue-cli里基于axios封装复用请求