$nuxt.$axios как не использовать этот костыли а импортировать axios?

В Nuxt.js встроена поддержка модуля $axios, который предоставляет удобный способ работы с HTTP-запросами на стороне клиента и на стороне сервера. Однако, если вы хотите использовать экземпляр Axios напрямую, а не через $nuxt.$axios, вам нужно выполнить некоторые дополнительные шаги.

Шаг 1: Установите пакет axios, если его еще нет:

npm install axios

Шаг 2: Создайте файл axios.js в папке plugins вашего Nuxt.js проекта:

import axios from 'axios'

export default ({ app, store, redirect }) => {
  // Создайте и настройте экземпляр Axios
  const api = axios.create({
    baseURL: 'http://example.com/api', // Замените на ваш базовый URL
    headers: {
      common: {
        Accept: 'text/plain, application/json, */*'
      }
    }
  })

  // Можно определить интерцепторы запросов/ответов
  api.interceptors.request.use((config) => {
    // Добавьте здесь вашу логику для обработки запроса
    return config
  }, (error) => {
    return Promise.reject(error)
  })

  api.interceptors.response.use((response) => {
    // Добавьте здесь вашу логику для обработки ответа
    return response
  }, (error) => {
    return Promise.reject(error)
  })

  // Доступ к экземпляру Axios через контекст приложения
  app.$axios = api

  // Доступ к экземпляру Axios также через контекст Nuxt
  // Это позволяет использовать его во время серверного рендеринга и посредников
  if (process.client) {
    // Доступ на клиентской стороне
    window.$axios = api
  }
}

Шаг 3: Импортируйте axios.js в Nuxt.js, добавив его в опцию plugins вашего файла nuxt.config.js:

module.exports = {
  // ...
  plugins: [
    { src: '@/plugins/axios', ssr: true }
  ],
  // ...
}

После выполнения этих шагов, вы можете использовать экземпляр axios, импортированный через файл axios.js, в любом месте вашего кода:

export default {
  asyncData({ app }) {
    return app.$axios.get('/users')
      .then((response) => {
        // Обработка данных
      })
      .catch((error) => {
        // Обработка ошибок
      })
  }
}

Теперь у вас есть полный контроль над экземпляром Axios и можете использовать его для HTTP-запросов по вашему усмотрению.