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 '@/styles/index.scss' // global css import './icons' // icon import NProgress from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style import VideoPlayer from 'vue-video-player' require('video.js/dist/video-js.css') require('vue-video-player/src/custom-theme.css') Vue.use(VideoPlayer) Vue.use(Element, { size: 'medium' // set element-ui default size }) 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, render: h => h(App) }).$mount('#app')