vue3vite配置axios
时间: 2025-01-14 09:09:31 浏览: 35
### 配置 Axios 在 Vue 3 和 Vite 项目中的应用
#### 创建 Axios 实例并设置默认参数
为了更好地管理和维护 HTTP 请求,在 `src/common` 下新建一个名为 `requests.js` 的文件来定义全局使用的 Axios 实例[^2]。
```javascript
// src/common/requests.js
import axios from 'axios';
const service = axios.create({
baseURL: import.meta.env.VITE_APP_BASE_API, // 使用环境变量作为基础URL
timeout: 5000,
});
service.interceptors.request.use(
config => {
const token = localStorage.getItem('token');
if (token) {
config.headers['Authorization'] = `Bearer ${token}`;
}
return config;
},
error => Promise.reject(error),
);
export default service;
```
这里通过读取 `.env` 文件里的环境变量设置了 API 的根路径,并加入了请求拦截器用于处理身份验证令牌的自动附加操作。这使得每次发送请求前都会检查是否存在有效的 JWT Token 并将其加入到头部信息中[^3]。
#### 加载环境变量
确保在项目的入口处调用了 `loadEnv()` 函数,这样可以在应用程序的不同部分轻松获取这些配置项而无需硬编码它们。对于基于 Vite 构建的应用程序来说,默认情况下已经集成了 dotenv 支持,因此只需按照官方文档说明正确放置 .env 文件即可[^4]。
#### 修改组件以发起网络请求
最后一步是在实际业务逻辑里利用上述自定义好的 Axios 实例执行 GET 或 POST 方法等具体的操作。比如编辑 Home 组件:
```html
<template>
<div>{{ message }}</div>
</template>
<script setup lang="ts">
import { ref } from "vue";
import request from "../common/requests";
let message = ref("");
request.get("/api/hello").then((response) => {
message.value = response.data.message;
});
</script>
```
这段代码展示了如何在一个简单的 Vue SFC 中导入之前创建的服务实例并通过它发出异步请求,最终更新视图上的显示内容。
阅读全文
相关推荐
















