用vue封装一个axios
时间: 2023-11-27 18:36:37 浏览: 66
好的,下面是一个简单的 Vue 封装 Axios 的示例:
1. 安装 Axios
```
npm install axios --save
```
2. 创建一个 axios.js 文件
```js
import axios from 'axios'
const service = axios.create({
baseURL: 'http://api.example.com', // API 地址
timeout: 5000 // 超时时间
})
// 请求拦截器
service.interceptors.request.use(
config => {
// 可以在这里设置请求头等信息
return config
},
error => {
console.error(error)
return Promise.reject(error)
}
)
// 响应拦截器
service.interceptors.response.use(
response => {
const res = response.data
// 可以在这里对响应数据进行处理
return res
},
error => {
console.error(error)
return Promise.reject(error)
}
)
export default service
```
3. 在 main.js 中引入并挂载到 Vue 实例上
```js
import axios from './axios.js'
Vue.prototype.$http = axios
```
4. 在组件中使用
```js
export default {
methods: {
fetchData() {
this.$http.get('/data').then(response => {
console.log(response)
}).catch(error => {
console.error(error)
})
}
}
}
```
这样就完成了一个简单的 Vue 封装 Axios 的操作。当然,根据项目需求和复杂度的不同,可以进行更多的拓展和优化。
阅读全文