34 lines
1 KiB
TypeScript
34 lines
1 KiB
TypeScript
import Vue from 'vue';
|
|
import Vuex from 'vuex';
|
|
import auth from './modules/auth';
|
|
import dashboard from './modules/dashboard';
|
|
import server from './modules/server';
|
|
import socket from './modules/socket';
|
|
import {ApplicationState} from "./types";
|
|
|
|
Vue.use(Vuex);
|
|
|
|
const store = new Vuex.Store<ApplicationState>({
|
|
strict: process.env.NODE_ENV !== 'production',
|
|
modules: {auth, dashboard, server, socket},
|
|
});
|
|
|
|
if (module.hot) {
|
|
module.hot.accept(['./modules/auth'], () => {
|
|
const newAuthModule = require('./modules/auth').default;
|
|
const newDashboardModule = require('./modules/dashboard').default;
|
|
const newServerModule = require('./modules/server').default;
|
|
const newSocketModule = require('./modules/socket').default;
|
|
|
|
store.hotUpdate({
|
|
modules: {
|
|
auth: newAuthModule,
|
|
dashboard: newDashboardModule,
|
|
server: newServerModule,
|
|
socket: newSocketModule
|
|
},
|
|
});
|
|
});
|
|
}
|
|
|
|
export default store;
|