route.config.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import navConfig from './nav.config.json';
  2. const registerRoute = (config) => {
  3. let route = [{
  4. path: '/component',
  5. component: require('./pages/component.vue'),
  6. children: []
  7. }];
  8. config
  9. .map(nav =>
  10. nav.list.map(page => {
  11. const component = require(`./docs${page.path}.md`);
  12. route[0].children.push({
  13. path: page.path.slice(1),
  14. meta: {
  15. title: page.title || page.name,
  16. description: page.description
  17. },
  18. component: component.default || component
  19. });
  20. })
  21. );
  22. return { route, navs: config };
  23. };
  24. const route = registerRoute(navConfig);
  25. let guideRoute = {
  26. path: '/guide',
  27. name: '指南',
  28. component: require('./pages/guide.vue'),
  29. children: [{
  30. path: 'design',
  31. name: '设计原则',
  32. component: require('./pages/design.vue')
  33. }, {
  34. path: 'nav',
  35. name: '导航',
  36. component: require('./pages/nav.vue')
  37. }]
  38. };
  39. let resourceRoute = {
  40. path: '/resource',
  41. name: '资源',
  42. component: require('./pages/resource.vue')
  43. };
  44. let changeLogRoute = {
  45. path: '/changelog',
  46. component: require('./pages/changelog.vue')
  47. };
  48. route.route = route.route.concat([guideRoute, resourceRoute, changeLogRoute]);
  49. route.route.push({
  50. path: '*',
  51. component: require('./docs/home.md')
  52. });
  53. export const navs = route.navs;
  54. export default route.route;