entry.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import Vue from 'vue';
  2. import entry from './app';
  3. import VueRouter from 'vue-router';
  4. import Element from 'main/index.js';
  5. import routes from './route.config';
  6. import demoBlock from './components/demo-block';
  7. import MainFooter from './components/footer';
  8. import MainHeader from './components/header';
  9. import SideNav from './components/side-nav';
  10. import FooterNav from './components/footer-nav';
  11. import title from './i18n/title';
  12. import 'packages/theme-chalk/src/index.scss';
  13. import 'highlight.js/styles/color-brewer.css';
  14. import './assets/styles/common.css';
  15. import './assets/styles/fonts/style.css';
  16. Vue.use(Element);
  17. Vue.use(VueRouter);
  18. Vue.component('demo-block', demoBlock);
  19. Vue.component('main-footer', MainFooter);
  20. Vue.component('main-header', MainHeader);
  21. Vue.component('side-nav', SideNav);
  22. Vue.component('footer-nav', FooterNav);
  23. const router = new VueRouter({
  24. mode: 'hash',
  25. base: __dirname,
  26. routes
  27. });
  28. router.afterEach(route => {
  29. const data = title[route.meta.lang];
  30. for (let val in data) {
  31. if (new RegExp('^' + val, 'g').test(route.name)) {
  32. document.title = data[val];
  33. return;
  34. }
  35. }
  36. document.title = 'Element';
  37. });
  38. new Vue({ // eslint-disable-line
  39. ...entry,
  40. router
  41. }).$mount('#app');