axios-vue

Integrate axios to Vue.js project as a Vue Plugin.
3,752 4
Install
npm install axios-vue
Latest Version:0.1.3
License:ISC
Last Updated:Jan 5, 2021
Links: GitHub  ·  npm
Maintainer: samhanx

axios-vue

Integrate axios in Vue.js project as a Vue Plugin.

What and Why?

Tired of integrating axios in Vue.js projects time to time. This plugin package adds axios as a dependency and installed to Vue with some initializations.

Usage

Install
npm i axios-vue -S
Init in Vue projects' main or index file
import axiosVue from 'axios-vue'

Vue.use(axiosVue)

// You can also declare global default configs and instance configs in plugin options.
Vue.use(axiosVue, {
  globalDefaults: {
    baseURL: 'https://api.example.com',
    headers: {
      common: {
        Authorization: AUTH_TOKEN
      },
      post: {
        'Content-Type': 'application/x-www-form-urlencoded',
      },
      // ...
    },
    // ...
  },

  default: {
    baseURL: 'https://api.example.com',
    headers: {
      common: {
        Authorization: AUTH_TOKEN
      },
      // ...
    },
    // ...
  },
})

// Two ways for interceptors declaration
axiosVue.requestInterceptor = function(config) {
  return config
}
axiosVue.requestErrorInterceptor = function(error) {
  return Promise.reject(error)
}
axiosVue.responseInterceptor = function(response) {
  return response
}
axiosVue.responseErrorInterceptor = function(error) {
  return Promise.reject(error)
}

// or
Vue.use(axiosVue, {
  interceptors: {
    request(config) {
      return config
    },
    requestError(error) {
      Promise.reject(error)
    },
    response(response) {
      return response
    },
    responseError(error) {
      Promise.reject(error)
    },
  },
})
// If both two ways are used, methods in options will override those outer fns.
// Actually, the four functions above will be set by default in this plugin.
The usage in Vue components
// Same as axios()
this.$http()
this.$axios()
// Can get axios instance on Vue constructor
Vue.$http()
Vue.$axios()

// Same as methods(get, post, put etc.) on axios
this.$http.get().then()
this.$axios.get().then()
Vue.$http.get().then()
Vue.$axios.get().then()

Related Packages

vue-cli-plugin-axios

Vue-cli-3 plugin: axios

226,755
vue-cli-plugin-axios-ts

Vue-cli-3 plugin: axios for ts

5,510
@mundoit-lib/plugin-vue-axios

Vue 3 plugin for a shared Axios instance (JSON headers, multi-database base URL,...

1,637 0
vue-axios-cors

This is http client vue.js plugin for cross origin access without preflight. It...

14,521 5
@epoundor/vue-fetch

The ultimate solution for making API calls in your Vue.js projects

1,592 7

Version History

Version Released License
0.1.3 ISC
0.1.2 ISC
0.1.1 ISC
0.1.0 ISC