在VUE3 中编写一个axios配置文件拦截请求添加token认证
时间: 2024-02-12 19:06:57 浏览: 216
好的,您可以在项目的src目录下创建一个axios.js文件,然后在该文件中编写如下代码:
```javascript
import axios from 'axios'
import store from '@/store'
// 创建axios实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
timeout: 5000
})
// 请求拦截器
service.interceptors.request.use(
config => {
// 在请求头中添加token认证
if (store.getters.token) {
config.headers['Authorization'] = 'Bearer ' + store.getters.token
}
return config
},
error => {
console.log(error)
return Promise.reject(error)
}
)
export default service
```
在这个文件中,我们首先导入了axios和我们的store。然后创建了一个axios实例,并配置了请求超时时间和请求的基础URL。
接下来,我们使用axios的拦截器功能,在请求被发送出去之前,对请求进行拦截和处理。在请求拦截器中,我们判断store中是否存在用户的token。如果存在,就在请求头中添加token认证,然后将config对象返回。如果不存在,就直接返回config对象。
最后,我们将这个axios实例导出,以便在其他地方使用。例如,在Vue组件中可以这样使用:
```javascript
import axios from '@/axios'
export default {
methods: {
fetchData() {
axios.get('/api/data').then(response => {
console.log(response.data)
})
}
}
}
```
这样,我们就可以在Vue3中使用axios发送请求,并在请求头中添加token认证了。
阅读全文