Registry / testing / vue-axios

vue-axios

JSON →
library3.5.2jsnpmunverified

A small wrapper for integrating Axios into Vue.js applications. Current stable version is 3.5.2. It binds Axios to the Vue instance so you don't have to import Axios in every component. Supports both Vue 2 and Vue 3. Provides multiple registration names and support for multiple Axios instances. Ships TypeScript definitions. Release cadence is low; last release was in 2022. Key differentiator: simple migration path from vue-resource or manual Axios imports by exposing Axios globally via Vue.prototype (Vue 2) or app.config.globalProperties (Vue 3).

npm install vue-axios
INSTALL
IMPORT
SIG · VUE-AXIOS
V
vue-axios
testingjavascriptv3.5.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

VueAxios
✓ import VueAxios from 'vue-axios'
✗ const VueAxios = require('vue-axios')
Default export. For Vue 2, use Vue.use(VueAxios, axios). For Vue 3, use app.use(VueAxios, axios). CommonJS require works but TypeScript may complain about default export.
install
✓ import { install } from 'vue-axios'
✗ import { VueAxios } from 'vue-axios'
Named export for manual plugin installation; rarely used.
default
✓ import VueAxios from 'vue-axios'
✗ import * as VueAxios from 'vue-axios'
Namespace import not needed; default export is the plugin object.

Integrate Axios into Vue 3 using vue-axios plugin, with Options API and Composition API usage.

// main.js or main.ts import { createApp } from 'vue' import axios from 'axios' import VueAxios from 'vue-axios' import App from './App.vue' const app = createApp(App) app.use(VueAxios, axios) // Provide axios for Composition API app.provide('axios', app.config.globalProperties.axios) app.mount('#app') // In a component (Options API) // export default { // methods: { // fetchData() { // this.axios.get('/api/data').then(response => { // console.log(response.data) // }) // } // } // } // In Composition API // import { inject } from 'vue' // const axios = inject('axios') // axios.get('/api/data').then(response => console.log(response.data))
Debug
Known issues
breakingVue 3: app.use() instead of Vue.use(). Composition API requires provide/inject pattern; global properties not available in setup()
fix
Use app.use(VueAxios, axios) and app.provide('axios', app.config.globalProperties.axios) for Composition API. See README examples.
affects: >=3.0.0
gotchaIn Vue Composition API, axios is not automatically available via this; you must use provide/inject or import Axios directly
fix
Use provide/inject in main.ts: app.provide('axios', app.config.globalProperties.axios) and inject('axios') in setup().
affects: all
deprecatedVue 2 is deprecated as of end of 2023; vue-axios may not receive updates for Vue 2
fix
Migrate to Vue 3, or continue using vue-axios 2.x for Vue 2 support (check compatibility).
affects: >=3.0.0
Errors
Common errors & fixes
TypeError: Cannot read properties of undefined (reading 'get') at setup()
Axios not available via this in Composition API; using this.axios or this.$http in setup fails.
fix
Use provide/inject pattern: app.provide('axios', app.config.globalProperties.axios) in main.js, then inject('axios') in setup.
Uncaught TypeError: _Vue2.default is not a constructor
Using Vue 3 with Vue.use() instead of app.use(). Vue 3 does not export a global Vue constructor.
fix
Use import { createApp } from 'vue'; const app = createApp(App); app.use(VueAxios, axios);
Module '"vue-axios"' has no default export. Did you mean to use 'import { install } from "vue-axios"' instead?
TypeScript strict module interop issues; vue-axios does not export a default in some TypeScript configurations.
fix
Install @types/vue-axios or use // @ts-ignore. Alternatively, use import VueAxios = require('vue-axios') with esModuleInterop: true.
Upgrade
Version history
3.5.2latest on npm
Audit
Dependencies
axiosrequiredPeer dependency; required for HTTP requests
vuerequiredPeer dependency; Vue core library
Agent activity
14 hits · last 30 days
node
12
Resources
vue-axios — npm install vue-axios · libregistry