axios.min.js封装
时间: 2023-09-07 13:18:01 浏览: 127
axios.min.js
axios是一个基于Promise的HTTP客户端,用于进行浏览器和Node.js中的HTTP通信。在前端开发中,我们常常需要用到axios来请求后台数据。为了简化axios的使用,我们可以对其进行封装,封装后的axios可以在整个项目中被复用,提高了开发效率。
以下是axios的封装代码:
```javascript
import axios from 'axios'
// 创建axios实例
const service = axios.create({
baseURL: process.env.BASE_URL, // api的base_url
timeout: 5000, // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
config => {
// 在发送请求之前做些什么
return config
},
error => {
// 对请求错误做些什么
console.log(error) // for debug
Promise.reject(error)
}
)
// respone拦截器
service.interceptors.response.use(
response => {
// 对响应数据做点什么
return response.data
},
error => {
// 对响应错误做点什么
console.log('err' + error) // for debug
return Promise.reject(error)
}
)
export default service
```
在这段代码中,我们首先通过`import`语句导入了axios库。然后通过`axios.create()`方法创建了一个axios实例,指定了请求的基础URL和请求超时时间。接着我们分别对请求和响应进行了拦截处理,可以在请求前或响应后对数据进行统一处理。
最后,我们通过`export default service`将封装后的axios实例暴露出来,以便其他文件进行调用。在调用axios时,只需要引入该封装后的axios实例即可。
```javascript
import request from '@/utils/request'
request({
url: '/user',
method: 'get',
params: { id: 123 }
}).then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
```
以上就是axios的封装过程,通过对axios的封装,可以大大提高项目开发效率和代码的复用性。
阅读全文