index.js 777 Bytes
import Vue from 'vue';
import Vuex from 'vuex';
import {createApi} from 'create-api';
import predata from 'common/predata';
import storeYoho from './yoho';
import storeArticle from './article';
import storeUser from './user';
import storeComment from './comment';
import storeProduct from './product';

Vue.use(Vuex);

export function createStore(context) {
  const store = new Vuex.Store({
    namespaced: true,
    modules: {
      yoho: storeYoho(),
      article: storeArticle(),
      user: storeUser(),
      comment: storeComment(),
      product: storeProduct()
    },
    strict: process.env.NODE_ENV !== 'production',
  });

  const api = createApi(context, store);

  store.$api = api;
  store.$predata = predata(api);
  store.$context = context;

  return store;
}