nuxtjs axios二次封装
时间: 2023-11-11 07:59:15 浏览: 207
好的,针对你的问题,我可以给出一个简单的 nuxtjs axios 二次封装的示例代码:
```javascript
// plugins/axios.js
import axios from 'axios'
const instance = axios.create({
baseURL: process.env.BASE_URL,
timeout: 5000
})
export default function ({ store }) {
instance.interceptors.request.use(config => {
const token = store.state.token
if (token) {
config.headers.Authorization = `Bearer ${token}`
}
return config
}, error => {
return Promise.reject(error)
})
instance.interceptors.response.use(response => {
return response.data
}, error => {
return Promise.reject(error)
})
return instance
}
```
在上面的代码中,我们首先创建了一个 axios 实例,并设置了一些默认配置。然后,我们通过 `interceptors` 对请求和响应进行了拦截和处理。在请求拦截器中,我们从 Vuex 中获取了用户的 token,并将其添加到请求头中;响应拦截器中,我们只返回响应数据的 `data` 字段。
最后,我们将这个 axios 实例作为插件导出,以便在 nuxtjs 中使用。
阅读全文