一 下载axios
1 在vue src目录下创建一个名为axios的文件夹(名字无所谓,没有特定称谓) 如果怕和axios包名字干扰,那就再改个名 叫axiosInterface
2 在axios这个目录下创建一个axiosInterface.ts 文件夹 这个文件夹要初始化一个axios实例化对象
3 在axios目录下再创建一个request文件夹,在request文件夹中创建一个index.ts 文件去写接口
4 当然还有的前端项目设计到mockjs部分 那就在axios目录下创建一个名为mockjs文件 去写mock相关的实例
具体如下图
上面创建了三个文件 其中
对于下面的文件做一点解析
axios实例拦截请求和响应这两块代码不是一定需要写 可以整体去除 这两部分主要是对请求和响应做拦截并操作请求和响应
import axios, {AxiosInstance, AxiosRequestConfig, AxiosResponse,} from 'axios';
export const axiosInstance = axios.create({
baseURL: "http://127.0.0.1:5173",
timeout: 5000,
});
// axios实例拦截响应
axiosInstance.interceptors.response.use(
(response: AxiosResponse) => {
return response;
},
// 请求失败
(error: any) => {
return error;
}
);
// axios实例拦截请求
axiosInstance.interceptors.request.use(
(config: AxiosRequestConfig) => {
return config;
},
(error:any) => {
return Promise.reject(error);
}
)
2 requestAPI里面的index.ts 文件和mockAPI中的index.ts文件书写方式一样
mockjs介绍http://t.csdn.cn/EcnsF
axios官网https://www.axios-http.cn/docs/intro
import {axiosInstance} from "../axiosInterface";
export const getLoginData = () =>{ return axiosInstance.get("/mockjs/loginData");}
四 有关index.ts
很多小伙伴很好好奇为什么我要创建一个requestAPI文件夹里面再创建一个index.ts文件, 那为什么不直接创一个requestAPI.js 文件呢
requestAPI/
这是我上面代码中的mockAPI.ts中的默认导入方式 (alt + enter编译器给导入的写法)
import {getLoginData} from "../../axios/mockAPI";
当然在后面补齐也可以 但是编译器(我用的webstorm)会黄色标注 alt+enter后发现有如下提示
原文地址:https://blog.csdn.net/m0_59901871/article/details/128627991
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_36610.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!