import Vue from 'vue' import App from './App.vue' import { router } from './router' import store from './store' import 'normalize.css/normalize.css' import Element from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import '@/assets/custom-theme/indexExtend.css' import Cookies from 'js-cookie' import i18n from './lang' import '@/styles/index.scss' // global css import './icons' // icon import NProgress from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style import 'babel-polyfill' import promise from 'es6-promise' promise.polyfill() Vue.use(Element, { size: Cookies.get('size') || 'medium', // set element-ui default size i18n: (key, value) => i18n.t(key, value) }) Vue.config.productionTip = false NProgress.configure({ showSpinner: false }) // NProgress Configuration router.beforeEach(async (to, from, next) => { // start progress bar NProgress.start() if (to.meta.title !== undefined) { document.title = to.meta.title } else { document.title = '\u200E' } if (to.meta.bodyBackground !== undefined) { document.querySelector('body').setAttribute('style', 'background: ' + to.meta.bodyBackground) } else { document.querySelector('body').removeAttribute('style') } if (to.path) { // eslint-disable-next-line no-undef _hmt.push(['_trackPageview', '/#' + to.fullPath]) } next() }) router.afterEach((to, from, next) => { // finish progress bar NProgress.done() }) Vue.prototype.$$router = router new Vue({ router: router, store: store, i18n, render: h => h(App) }).$mount('#app')