Как правильно написать и хранить модули Vue.js, используемые в проекте?

Есть хранилище данных Vuex, в котором у меня есть action, делающий запрос к стороннему апи, возвращающий данные и запускающий callback-функцию, но мне кажется весь это action довольно громоздким (весь код взят с сайта разработчика api) и крайне неудобным в плане логики конкретного модуля хранилища (этот метод как не в своей тарелке). Так как этот метод (action) нужно будет использовать в нескольких компонентах, с разными входными параметрами, я решил вынести его в отдельный модуль и использовать его уже так: import exampleapi from 'example-api';, чтобы потом уже работать с ним примерно так:
exampleapi.query('{}',function(data){
  //some actions
})


Нашел примеры, как пишутся модули, наткнулся на это:
// lib/counter.js

var counter = 1;

function increment() {
  counter++;
}

function decrement() {
  counter--;
}

module.exports = {
  counter: counter,
  increment: increment,
  decrement: decrement
};


// src/main.js

var counter = require('../../lib/counter');

counter.increment();
console.log(counter.counter); // 1


В таком же виде, собственно, я описываю свои модули VUEX-хранилища. Структура там такая:
-store
|--modules
|----invites.js
|----user.js
|--index.js


Насколько верным будет добавить именно сюда новый модуль, в котором будут описаны методы для работы с апи, а не с хранилищем? Мне кажется что такой подход не верный, ибо в папке store хранятся только модули для работы с хранилищем. Тогда где можно хранить свои самописные модули? В правильно ли направлении я двигаюсь?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
@iGanza
Можете вынести в отдельный сервис работу с этим апи и использовать его непосредственно в хранилище
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы