vue3项目搭建-6-axios 基础配置

axios 基础配置

安装 axios

复制代码
npm install axios

创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js

基地址:在每次访问时,自动作为相对路径的根

javascript 复制代码
// axios 基础封装
import axios from "axios";

const httpInstance = axios.create({
    // 项目基地址
    // baseURL:'https://localhost:8888/api',
    baseURL:'http://pcapi-xiaotuxian-front-devtest.itheima.net',
    timeout: 5000
})
// 创建完记得暴露该实例
export default httpInstance

// 添加请求拦截器
httpInstance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
httpInstance.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  });

测试路径连接,目录:aips/testAPI.js

javascript 复制代码
import httpInstance from '@/utils/http'

// 给实例传入具体路径,即在最末尾拼接 url
export function getCategory(){
    return httpInstance({
        url: 'home/category/head'
    })
}

在 main.js 中调用:

javascript 复制代码
//测试接口函数
import {getCategory} from '@/apis/testAPI'
getCategory().then(res => {
    console.log(res)
})
相关推荐
进击的尘埃6 分钟前
Vue3 中 emit 能 await 吗?事件机制里的异步陷阱
javascript
青青家的小灰灰15 分钟前
告别 Prop Drilling:Context API 的陷阱、Reducer 模式与原子化状态库原理
前端·javascript·react.js
叶智辽18 分钟前
【Three.js后期处理】如何让你的场景拥有电影级调色
前端·three.js
进击的尘埃18 分钟前
CSS 变量 + 主题切换:从 CSS-in-JS 回归原生方案的实践之路
javascript
csdn飘逸飘逸18 分钟前
Autojs基础-按键模拟(keys)
javascript
前端付豪19 分钟前
Nest 项目小实践之前端注册登陆
前端·node.js·nestjs
wuhen_n19 分钟前
Suspense:异步组件加载机制
前端·javascript·vue.js
大雨还洅下19 分钟前
前端JS: ES6新特性
前端
wuhen_n20 分钟前
Teleport:渲染到任意DOM节点
前端·javascript·vue.js
进击的尘埃21 分钟前
组合式函数的设计模式:如何写出真正可复用的 Vue3 Composables
javascript