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)
})
相关推荐
暂时的1237 分钟前
一个十字翻转小游戏
前端·javascript·css·html
束尘10 分钟前
页面内容下载为pdf
前端·javascript·pdf
草明31 分钟前
Flutter EventBus
前端·javascript·flutter
星离~1 小时前
Css—实现3D导航栏
前端·css
Queen_sy1 小时前
react学习记录
javascript·学习·react.js
疯狂的沙粒1 小时前
Vue 前端 el-input 如何实现输入框内容始终添加在尾部%
前端·javascript
小豆豆儿1 小时前
【Vue3】【Naive UI】<n-message>标签
前端·ui·vue·html
一殊酒1 小时前
【前端开发】JS+Vuew3请求列表数据并分页
前端·javascript·vue.js
景天科技苑1 小时前
【vue-router】Vue-router如何实现路由懒加载
前端·javascript·vue.js·vue-router路由懒加载·vue路由懒加载
独上归州1 小时前
初窥门径:React中的事件机制
javascript·react.js·react合成事件·事件冒泡