main.js:
import Vue from 'vue'
import router from './router/router.js'
import store from './store/store.js'
import axios from 'axios'
import VueAxios from 'vue-axios'
import App from './App.vue'
import Qs from 'qs'
Vue.prototype.$qs = Qs
let backStage = axios.create({
baseURL: 'xxx',
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type':'application/x-www-form-urlencoded',
}
})
Vue.use(VueAxios,axios);
如上创建了axios的自定义实例,那么我要怎么全局使用这个自定义的实例?
是挂载在vue或者axios的原型上还是有别的更好的方法
1.直接挂载到原型上
Vue.prototype.$http=axios
这种方式小型项目使用为佳。
2.写个模块组件 request.js 进行封装
然后在 main.js 引入使用
1、2两种方式都是挂在原型上,组件里直接 this.$http() 来使用,两者适用范围差不多。
3.不挂载到原型,直接抽离出api层并对请求进行封装,每个组件独单引用,这个适用于长期维护/中大型项目