import Vue from 'vue'; import Vuex from 'vuex'; import VuexPersistence from 'vuex-persist'; import authStore from '@/store/auth.store'; import globalStore from '@/store/global.store'; import areaStore from '@/store/area.store'; import statusStore from '@/store/status.store'; import nestStore from '@/store/nest.store'; Vue.use(Vuex); // set up persistence storage plugin const vuexPersistence = new VuexPersistence({ key: process.env.VUE_APP_TITLE, storage: window.localStorage, filter: (mutation) => ['auth/saveToken', 'global/saveArea'].includes(mutation.type) }); export default new Vuex.Store({ state: {}, mutations: {}, actions: {}, modules: { auth: { namespaced: true, ...authStore }, global: { namespaced: true, ...globalStore }, area: { namespaced: true, ...areaStore }, status: { namespaced: true, ...statusStore }, nest: { namespaced: true, ...nestStore } }, plugins: [vuexPersistence.plugin] });