vue2 axios的二次封装
时间: 2023-11-15 21:58:55 浏览: 86
vue中axios的二次封装实例讲解
Vue2中的Axios二次封装可以让我们在使用Axios时更加方便和高效。一般来说,我们会将Axios封装成一个插件,然后在Vue项目中引入该插件即可使用。
以下是一个简单的Vue2 Axios二次封装的示例:
```javascript
import axios from 'axios'
const instance = axios.create({
baseURL: 'https://api.example.com',
timeout: 10000,
headers: {
'Content-Type': 'application/json'
}
})
instance.interceptors.request.use(
config => {
// 在请求发送之前做一些处理
return config
},
error => {
// 请求错误时做些事
return Promise.reject(error)
}
)
instance.interceptors.response.use(
response => {
// 对响应数据做些事
return response.data
},
error => {
// 响应错误时做些事
return Promise.reject(error)
}
)
export default {
install(Vue) {
Vue.prototype.$http = instance
}
}
```
在上面的代码中,我们首先使用`axios.create()`方法创建了一个Axios实例,并设置了一些默认配置。然后,我们使用`instance.interceptors`添加了请求和响应拦截器,以便在请求和响应时进行一些处理。最后,我们将该实例封装成一个Vue插件,并将其挂载到Vue原型上,以便在Vue组件中使用。
使用该插件时,只需要在main.js中引入并安装即可:
```javascript
import Vue from 'vue'
import axiosPlugin from './plugins/axios'
Vue.use(axiosPlugin)
```
这样,在Vue组件中就可以使用`this.$http`来发送请求了。
阅读全文