route.config.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import navConfig from './nav.config.json';
  2. const registerRoute = (config) => {
  3. let route = {};
  4. config.map(nav => nav.list.map(page => {
  5. try {
  6. route[page.path] = page.path !== '/changelog' ? {
  7. component: require(`./docs${page.path}.md`),
  8. title: page.title || page.name,
  9. description: page.description
  10. } : {
  11. component: require('../CHANGELOG.md'),
  12. title: page.title || page.name,
  13. description: page.description
  14. };
  15. } catch (e) {
  16. console.error(e);
  17. page.disabled = true;
  18. }
  19. }));
  20. return { route, navs: config };
  21. };
  22. const route = registerRoute(navConfig);
  23. export const navs = route.navs;
  24. export default function configRouter(router) {
  25. router.map(Object.assign({
  26. '*': {
  27. component: require('./docs/home.md')
  28. }
  29. }, route.route));
  30. router.beforeEach(transition => {
  31. document.title = transition.to.title || document.title;
  32. transition.to.router.app.$broadcast('element.example.reload');
  33. transition.next();
  34. });
  35. };