Vue3 TS Axios 封装

1. 介绍

在Vue3中使用TypeScript以及Axios进行网络请求是一种常见的做法。本文将介绍如何封装Vue3 TS Axios。

2. 实现步骤

下面是实现Vue3 TS Axios封装的步骤:

步骤 描述
1 安装Vue CLI
2 创建Vue项目
3 安装Axios
4 创建API模块
5 封装请求方法
6 在组件中使用封装的请求方法

下面将详细介绍每个步骤所需做的工作。

3. 安装Vue CLI

首先,我们需要安装Vue CLI,它是一个用于快速搭建Vue项目的命令行工具。打开终端,并执行以下命令:

npm install -g @vue/cli

4. 创建Vue项目

使用Vue CLI创建一个新的Vue项目。在终端中执行以下命令:

vue create vue3-ts-axios

根据提示选择需要的配置,例如选择TypeScript作为项目语言。等待项目创建完成。

5. 安装Axios

在终端中进入项目目录,并安装Axios。执行以下命令:

cd vue3-ts-axios
npm install axios

Axios是一个常用的HTTP客户端,用于发送网络请求。

6. 创建API模块

在src目录下创建一个名为api的文件夹,并在该文件夹下创建一个名为index.ts的文件。这个文件将用于封装API相关的代码。

在index.ts中,我们首先导入Axios和Vue,然后创建一个Axios实例,并将其导出。代码如下:

import axios from 'axios';
import { reactive } from 'vue';

const api = axios.create({
  baseURL: '
});

export default api;

在这个示例中,我们使用了基本的Axios配置,并将其导出,以便在其他地方使用。

7. 封装请求方法

在api文件夹下创建一个名为user.ts的文件,用于封装与用户相关的API请求。在user.ts中,我们将导入刚刚创建的api实例,并使用该实例对用户API进行封装。

下面是一个获取用户信息的示例:

import api from './index';

export const getUserInfo = async (userId: string) => {
  try {
    const response = await api.get(`/users/${userId}`);
    return response.data;
  } catch (error) {
    throw new Error('Failed to get user information');
  }
};

在这个示例中,我们使用了async/await语法来发送GET请求,并返回响应数据。如果请求失败,我们将抛出一个错误。

8. 在组件中使用封装的请求方法

在Vue组件中,我们可以直接使用封装的请求方法来进行网络请求。首先,导入我们刚刚封装的请求方法:

import { getUserInfo } from '@/api/user';

然后,在组件的方法中调用封装的请求方法,例如:

async mounted() {
  try {
    const userInfo = await getUserInfo('123');
    console.log(userInfo);
  } catch (error) {
    console.error(error);
  }
}

在这个示例中,我们在组件的mounted生命周期钩子中调用了getUserInfo方法,并打印用户信息。

9. 总结

通过以上步骤,我们成功封装了Vue3 TS Axios。在封装过程中,我们创建了一个Axios实例,并使用该实例封装了API请求方法。最后,在Vue组件中使用封装的请求方法来进行网络请求。这种封装的方式使得我们可以更好地组织和管理网络请求代码,提高代码的可维护性和复用性。

下面是整个流程的序列图:

sequenceDiagram
  participant 小白
  participant 开发者
  小白->>开发者: 请求教学
  开发者->>小白: 解答教学

同时,我们也完成了一次旅程:

journey
  title Vue3 TS Axios 封装