跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScript大前端

Vue3 项目实战:Axios 基础封装与接口调用

Vue3 项目中使用 Axios 进行前后端交互需先安装依赖并封装实例。通过 utils/http.js 统一配置 baseURL 和超时时间,利用拦截器简化响应数据处理流程。在 apis 层定义具体接口方法,最后在入口文件验证连通性,确保能正常获取远程分类数据,为后续业务开发奠定基础。

热情发布于 2024/1/23更新于 2026/10/2187 浏览
Vue3 项目实战:Axios 基础封装与接口调用

安装依赖

在 Vue3 项目中统一处理 HTTP 请求,Axios 是最常用的选择。先在终端运行以下命令引入模块:

npm i axios

安装成功后,项目依赖列表里就会多出 axios 相关条目。

封装 Axios 实例

为了方便后续维护,建议将 axios 配置集中管理。在 utils 目录下新建 http.js 文件,创建全局实例并配置拦截器:

// axios 基础的封装
import axios from "axios";

const httpInstance = axios.create({
    baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net',
    timeout: 5000
})

// 请求拦截器
httpInstance.interceptors.request.use(
    config => {
        return config
    }, e => Promise.reject(e)
)

// 响应拦截器
httpInstance.interceptors.response.use(
    res => res.data,
    e => {
        return Promise.reject(e)
    }
)

export default httpInstance

这里主要做了两件事:一是设定了基础地址和超时时间;二是通过拦截器统一处理请求配置和响应数据。响应拦截器直接返回 res.data,这样调用方就不需要再手动解包,代码会更简洁。虽然目前拦截器逻辑比较简单,但预留好位置,后期接入 Token 认证或错误码判断时非常方便。

接口调用测试

封装完成后,可以在组件或 API 文件中按需引入使用。比如在 apis 目录下新建 testAPI.js:

import httpInstance  

  (){
    ({
        : 
    })
}
from
'@/utils/http'
export
function
getCategory
return
httpInstance
url
'home/category/head'

导出函数后,就可以在入口文件 main.js 中进行简单验证:

import './assets/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
// 测试接口函数
import {getCategory} from '@/apis/testAPI'

getCategory().then(res =>{
    console.log(res);
})

const app = createApp(App)
app.use(createPinia())
app.use(router)
app.mount('#app')

启动项目后观察控制台,如果能看到远程接口返回的分类数据,说明 Axios 配置已生效,后续业务开发可直接复用该实例。

目录

  1. 安装依赖
  2. 封装 Axios 实例
  3. 接口调用测试

更多推荐文章

查看全部
  • 银发浪潮下的智能护理革命:全球老龄化社会护理机器人发展研究
  • Virt-A-Mate (VAM) 虚拟实境软件介绍
  • 阿里开源 PageAgent:让 AI 住进网页,用自然语言操控界面
  • jQuery 核心知识详解:基础、DOM 操作与插件应用
  • C++ 栈模拟验证栈序列:LeetCode 946 题解
  • 深入 llama.cpp:llama-server 从命令行到 HTTP Server
  • AI 对话式 PCB 设计工具实战:从需求到布局的自动化流程
  • 超声成像经典算法与评价指标总结
  • Silly Tavern 角色卡与世界书导入教程
  • 前端开发中常见的加密与编码方案解析
  • Flutter 组件 tavily_dart 在鸿蒙平台的适配与 AI 搜索集成实战
  • AI 辅助下 Java 电商系统核心架构设计与实现
  • 宇树 G1 机器人有线与无线连接开发指南
  • 8 大 AI 平台速度与 Token 消耗测试
  • pdf-lib:JavaScript 全栈 PDF 处理方案
  • 无需 OCR 的 PDF 多模态 RAG 方案:ColQwen2、Qwen2.5 与 Weaviate 实战
  • Dify 案例:MCP Server 将工作流发布为第三方可调用服务
  • Python 代码打包为 EXE 实战指南
  • 慈善管理系统数据可视化:基于SpringBoot与Web前端技术
  • Redis 与 NoSQL 基础学习笔记

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online