Получить значение базового URL-адреса axios в компоненте vuejs

Я настроил свою конфигурацию axios в глобальной конфигурации vuejs, как это

const axiosConfig = {
baseURL: 'http://127.0.0.1:8000/api',
timeout: 30000, 
 };
Vue.prototype.$axios =  axios.create(axiosConfig);

Теперь я хотел бы получить значение basEuRL внутри компонента.

<script>
  data:()=>({
     apiurl:this.$axios.baseURL
   })
<script>

Но вышеописанное не работает. Я ожидал, что свойство apiurl будет иметь

http://127.0.0.1:8000/api

person Geoff    schedule 20.11.2017    source источник
comment
axios.defaults.baseURL = 'http://127.0.0.1:8000/api' в main.js с настройкой компонента в одном файле. Затем просто используйте /something в другом месте, чтобы получить http://127.0.0.1:8000/api/something. github.com/axios/axios#config-defaults   -  person Jordan    schedule 10.12.2017


Ответы (1)


Не знаю, зачем вам нужно вызывать baseURL в компоненте данных, но я нашел общий способ использования axios baseURL, например, Использование Vue.js REST API с Axios:

// http-common.js
import axios from 'axios';

export const HTTP = axios.create({
  baseURL: `http://jsonplaceholder.typicode.com/`,
  headers: {
    Authorization: 'Bearer {token}'
  }
})

Затем

import {HTTP} from './http-common';
HTTP.get(`posts`)
    .then(response => {
      this.posts = response.data
    })
    .catch(e => {
      this.errors.push(e)
    })
person eugene    schedule 03.12.2017