axios如何自定义实例且全局使用?
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的原型上还是有别的更好的方法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
1.直接挂载到原型上
Vue.prototype.$http=axios
这种方式小型项目使用为佳。
2.写个模块组件 request.js 进行封装
然后在 main.js 引入使用
1、2两种方式都是挂在原型上,组件里直接 this.$http() 来使用,两者适用范围差不多。
3.不挂载到原型,直接抽离出api层并对请求进行封装,每个组件独单引用,这个适用于长期维护/中大型项目
建议新增api.js 创建实例之后export 需要使用时 import即可
单独放一个文件
main里面
其他js里面