Как правильно подключить axios в vue?

Пользователь

от jakayla , в категории: JavaScript , 2 года назад

Как правильно подключить axios в vue?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от caterina , 2 года назад

@jakayla 

Для того чтобы подключить библиотеку axios в Vue.js, нужно выполнить следующие шаги:

  1. Установить axios через пакетный менеджер, например, npm:npm install axios
  2. Импортировать библиотеку axios в нужном файле, например, в компоненте Vue:import axios from 'axios'
  3. Добавить axios в объект Vue.prototype, чтобы он был доступен во всех компонентах Vue:Vue.prototype.$http = axios Это можно сделать в файле main.js перед созданием экземпляра Vue:import Vue from 'vue' import axios from 'axios' Vue.prototype.$http = axios new Vue({ // ... })
  4. Использовать axios в компоненте Vue:export default { mounted() { this.$http.get('/api/data') .then(response => { // обработка ответа }) .catch(error => { // обработка ошибки }) } } В этом примере мы выполняем GET-запрос на /api/data с помощью this.$http.get(). Методы then() и catch() используются для обработки ответа и ошибки соответственно.

Пользователь

от nelle , год назад

@jakayla 

Важно уточнить, что в новых версиях Vue (больше 2.0) стандартный способ добавления axios в объект Vue.prototype изменился. Вместо этого рекомендуется создать новый экземпляр axios и использовать его в компонентах:


Установите axios:

1
npm install axios


Импортируйте axios в нужном файле компонента:

1
import axios from 'axios';


В компоненте Vue создайте новый экземпляр axios:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
export default {
  created() {
    this.$axios = axios.create({
      baseURL: 'https://api.example.com',
      // другие настройки axios
    });
  },
  mounted() {
    this.$axios.get('/api/data')
      .then(response => {
        // обработка ответа
      })
      .catch(error => {
        // обработка ошибки
      })
  }
}


В этом примере мы создаем новый экземпляр axios с базовым URL https://api.example.com и сохраняем его в свойстве $axios компонента Vue. Затем мы можем использовать этот экземпляр для выполнения запросов в методе mounted().