github.com/covergates/covergates@v0.2.2-0.20201009050117-42ef8a19fb95/web/src/main.ts (about) 1 import Vue from 'vue'; 2 import VueClipboard from 'vue-clipboard2'; 3 import App from './App.vue'; 4 import router from './router'; 5 import vuetify from './plugins/vuetify'; 6 import { authorize } from './router/gates'; 7 import { makeServer } from './server'; 8 import store, { Actions } from '@/store'; 9 import { AxiosPlugin } from '@/plugins/http'; 10 import { HighlightPlugin } from '@/plugins/highlight'; 11 import '@/plugins/scrollbar'; 12 import 'file-icon-vectors/dist/file-icon-vivid.min.css'; 13 14 __webpack_public_path__ = process.env.NODE_ENV === 'production' ? `${VUE_BASE}/` : process.env.BASE_URL; 15 16 Vue.use(AxiosPlugin); 17 Vue.use(HighlightPlugin); 18 Vue.use(VueClipboard); 19 20 if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK_SERVER === 'true') { 21 makeServer(); 22 } 23 24 Vue.config.productionTip = false; 25 router.beforeEach(authorize(store)); 26 store.dispatch(Actions.FETCH_USER).then(() => { 27 new Vue({ 28 router, 29 store, 30 vuetify, 31 render: h => h(App) 32 }).$mount('#app'); 33 }); 34 35 export default store;