На странице есть получение новостей через asyncData:
async asyncData(ctx) {
const news = ctx.$axios.$get('http://127.0.0.1:8000/api/v1/news/?format=json').then(res => res.json())
return { news }
Я же хочу вынести логику работы с api в отдельные файлы в корне проекта:
-api
--axios.js
--news.js
В axios.js будет настройка конфигурации axios, импортированного из модуля axios:
import axios from 'axios'
axios.defaults.baseURL = 'http://127.0.0.1:8000/api/v1'
export default axios
В news.js:
import axios from "~/api/axios";
const getNewsList = async () => {
return await axios.get('http://127.0.0.1:8000/api/v1/news/?format=json').then(res => res.data)
}
export default {
getNewsList
}
А на странице в asyncData:
async asyncData(ctx) {
const news = await newsApi.getNewsList()
return { news }
Можно ли так сделать? Или использование axios из контекста asyncData привносит что-то, что не охватывает обычный импорт axios как модуля? И если да, то можно ли просто передать ctx.$axios в качестве параметра функции getNewsList?
Заранее благодарю за ответы)