nuxt.js中使用axios以及二次封装
在Nuxt.js中使用axios并进行二次封装,可以通过以下步骤实现:
- 安装axios:
npm install axios
- 在
plugins
目录下创建axios.js
文件,并编写二次封装的代码:
// plugins/axios.js
import axios from 'axios';
let axiosInstance = axios.create({
baseURL: 'http://your-api-url/',
// 其他配置...
});
// 添加请求拦截器
axiosInstance.interceptors.request.use(config => {
// 可以在这里添加例如token等请求头
// if (store.state.token) {
// config.headers.common['Authorization'] = `Bearer ${store.state.token}`;
// }
return config;
}, error => {
return Promise.reject(error);
});
// 添加响应拦截器
axiosInstance.interceptors.response.use(response => {
// 对响应数据做处理
return response.data;
}, error => {
// 处理响应错误
return Promise.reject(error);
});
export default axiosInstance;
- 在
nuxt.config.js
中配置axios插件:
// nuxt.config.js
export default {
// ...
plugins: [
'@/plugins/axios'
],
// ...
}
- 在组件或页面中使用封装后的axios实例:
// 在组件中
export default {
async fetch() {
const response = await this.$axios.get('/your-endpoint');
this.data = response;
}
}
通过以上步骤,你可以在Nuxt.js项目中使用二次封装的axios实例,并能够方便地在请求和响应中添加全局的处理逻辑。
评论已关闭