[Javascript] Common axios service for reuseability

It is not good to import axios from each Components or different services, because it will create a new instance of axios everytime.

 

import axios from "axios";

const apiClient = axios.create({
    baseURL: 'https://my-json-server.typicode.com/Code-Pop/Real-World-Vue-3-New-Syntax',
    withCredentials: false,
    headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json'
    }
})
export default {
    getEvents() {
        return apiClient.get('/events')
    }
}

 

Usage:

<script setup>
import EventCard from '@/components/EventCard.vue'
import { ref, onMounted } from 'vue'
import EventService from '@/services/EventService'

const events = ref(null)
onMounted(async () => {
  EventService.getEvents()
    .then(response => {
      events.value = response.data
    })
    .catch(error => {
      console.error('There was an error!', error)
    })
})

</script>

 

posted @   Zhentiw  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2023-11-24 [AWS] Create a serverless API with Ampt and TypeScript
2022-11-24 [Typescript] 114. Hard - Camelize
2021-11-24 [RxJS] Execution Contexts and Scheduler
2020-11-24 [React] Broadcaster + Operator + Listener pattern -- 21. useBroadcaster & useListener Example 2 (allowWhen)
2015-11-24 [Javascript] Intro to Recursion
2014-11-24 [AnuglarJS] TweenMax with ngAnimate
点击右上角即可分享
微信分享提示