index.js
884 Bytes
import Vue from 'vue';
import Vuex from 'vuex';
import {createApi} from 'create-api';
import reportError from 'report-error';
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, state = {}) {
const store = new Vuex.Store({
namespaced: true,
modules: {
yoho: storeYoho(state.yoho),
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;
store.$reportError = reportError(context);
return store;
}