当前位置:   article > 正文

Vue3 + Ts 配置axios_vue3 ts axios

vue3 ts axios

一 下载axios

 二 创建axios实例

        1 在vue src目录下创建一个名为axios的文件夹(名字无所谓,没有特定称谓) 如果怕和axios包名字干扰,那就再改个名 叫axiosInterface

        2 在axios这个目录下创建一个axiosInterface.ts 文件夹 这个文件夹要初始化一个axios实例化对象

        3 在axios目录下再创建一个request文件夹,在request文件夹中创建一个index.ts 文件去写接口

        4 当然还有的前端项目设计到mockjs部分 那就在axios目录下创建一个名为mockjs文件 去写mock相关的实例

         具体如下图

        

 三 代码实现

        上面创建了三个文件 其中

                        axiosInterface.ts 实例化axios对象

                        requestAPI里面的index.ts 编写接口

                        mockAPI里面的index.ts编写mock请求

        1 axiosinterface.ts

                对于下面的文件做一点解析

                axios实例拦截请求和响应这两块代码不是一定需要写 可以整体去除 这两部分主要是对请求和响应做拦截并操作请求和响应

  1. import axios, {AxiosInstance, AxiosRequestConfig, AxiosResponse,} from 'axios';
  2. export const axiosInstance = axios.create({
  3. baseURL: "http://127.0.0.1:5173",
  4. timeout: 5000,
  5. });
  6. // axios实例拦截响应
  7. axiosInstance.interceptors.response.use(
  8. (response: AxiosResponse) => {
  9. return response;
  10. },
  11. // 请求失败
  12. (error: any) => {
  13. return error;
  14. }
  15. );
  16. // axios实例拦截请求
  17. axiosInstance.interceptors.request.use(
  18. (config: AxiosRequestConfig) => {
  19. return config;
  20. },
  21. (error:any) => {
  22. return Promise.reject(error);
  23. }
  24. )

        2 requestAPI里面的index.ts 文件和mockAPI中的index.ts文件书写方式一样 

想了解mockjs请一部我另一篇博客

mockjs介绍icon-default.png?t=MBR7http://t.csdn.cn/EcnsF

        书写方式参考axios官网 

   axios官网https://www.axios-http.cn/docs/intro

  1. import {axiosInstance} from "../axiosInterface";
  2. export const getLoginData = () =>{ return axiosInstance.get("/mockjs/loginData");}

 四 有关index.ts

      很多小伙伴很好好奇为什么我要创建一个requestAPI文件夹里面再创建一个index.ts文件, 那为什么不直接创一个requestAPI.js 文件呢

      首先先说明,这两种方法写出来的代码没有任何区别

      index.ts文件在导入的时候 无需导入到

                        requestAPI/index.ts

     node默认导入到 

                        requestAPI/

     node会自动读取该文件夹下面的index.js文件

 这是我上面代码中的mockAPI.ts中的默认导入方式 (alt + enter编译器给导入的写法)

    import {getLoginData} from "../../axios/mockAPI";

 当然在后面补齐也可以 但是编译器(我用的webstorm)会黄色标注 alt+enter后发现有如下提示

将ts后缀补齐甚至报错 只能以前两种方式导入

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/285655
推荐阅读
相关标签
  

闽ICP备14008679号