Nuxt.js, автозаполнение headers в axios глобально

Nuxt.config, хочу заполнить хедеры на axios с использованием токена, который храниться в localStorage. Вот как я это реализовывал

 axios: {
    withCredentials: false,
    common: {
      'CRM-Auth-Token': this.localStorage.getItem('token')
    }
  },

Но при пересборке - Nuxt ругаеться на getItem - и говорит что такого свойства нету - undefined, подскажите что не так делаю!


Ответы (1 шт):

Автор решения: ryzen

Вам необходимо создать конфигурационный файл и подключить его в plugins.

nuxt.config:

plugins: ['@/plugins/axios'],  
modules: ['@nuxtjs/axios']

axios.js:

export default function ({ $axios, store }) {
  $axios.onRequest((config) => { 
    config.headers.common['CRM-Auth-Token'] = store.state.token
  }) 
}

store.js:

...
state: { 
  token: 'тут должен быть ваш токен'
}
...

Токен соответственно вы можете записать откуда угодно в store.

Если будут вопросы - оставляйте комментарий :)

→ Ссылка