const service = axios.create({ baseURL: apiBaseUrl, timeout: 9000, });vue2.x转化vue3.x
时间: 2024-09-19 22:07:43 浏览: 44
Vue2 配置 Axios api 接口调用文件的方法
在Vue 2.x中,`axios` 的配置通常放在单独的模块中以便复用,如 `const service = axios.create` 的形式。而在Vue 3.x中,由于引入了Composition API或Options API,可以采用不同的方式管理这类状态。这里有几个选项:
1. **Composition API**:
使用 `ref` 和 `onMounted` 或者 `setup` 函数来初始化并订阅 Axios 实例:
```javascript
import { ref, onMounted } from 'vue';
const apiBaseUrl = "..." //你的 base URL
const service = ref(null);
const initService = async () => {
service.value = axios.create({ baseURL, timeout });
await service.value.get某种请求();
};
onMounted(initService);
```
2. **Options API** (推荐):
在 `setup` 钩子中创建 Axios 实例,并通过 `provide/inject` 或者 `ref` 传递到组件树中:
```javascript
import { createApp, provide } from 'vue';
import axios from 'axios';
const app = createApp(App);
app.config.globalProperties.$axios = axios.create({ baseURL, timeout });
// 如果需要在组件内部访问,提供给子组件
app.provide('apiService', $axios);
app.mount('#app');
```
在模板中,你可以直接使用 `$axios` 进行 API 调用。
阅读全文