My module is creating plugin that dependent on @nuxtjs/axios
plugin and I want to set interceptors on axios during my plugin initialization, but seems like axios is not yet processed. How to specify order of plugins?
// save headers in vuex, cookies and update axios headers
const setAuthDataFromResponse = store => response => {
const authData = getAuthDataFromResponse(response)
store.dispatch('setAuthData', authData)
}
export default (ctx) => {
const { app, store } = ctx
// create store
store.registerModule('auth', auth)
console.log(app.$axios) // but they are all are undef
console.log(store.$axios)
console.log(ctx.$axios)
// set interceptors
const setter = setAuthDataFromResponse(store)
store.$axios.interceptors.response.use(resp => {
setter(resp)
return resp
}, error => {
setter(error)
return Promise.reject(error)
})
}
plugins: [
...
],
modules: [
...
['@nuxtjs/axios', { baseURL: apiURL, debug: process.env.NODE_ENV !== 'production' }],
'auth-devise'
],
<!--cmty--><!--cmty_prevent_hook--><div align="right"><sub><em>This question is available on <a href="https://nuxtjs.cmty.io">Nuxt.js</a> community (<a href="https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c1089">#c1089</a>)</em></sub></div>