router.js 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Vue from 'vue';
  2. import VueRouter from 'vue-router';
  3. import { packages } from '@/config.json';
  4. import Index from './view/index.vue';
  5. import DemoNav from './view/demonav.vue';
  6. Vue.use(VueRouter);
  7. const routes = [
  8. {
  9. path: '*',
  10. redirect: '/index'
  11. },
  12. {
  13. name: 'index',
  14. path: '/index',
  15. components: {
  16. main: Index,
  17. demonav: DemoNav
  18. }
  19. }
  20. ];
  21. //组件示例页面
  22. packages.map(item => {
  23. if (item.showDemo === false) return;
  24. const pkgName = item.name.toLowerCase();
  25. routes.push({
  26. path: '/' + item.name,
  27. components: {
  28. main: () => import(`@/packages/${pkgName}/demo.vue`),
  29. demonav: DemoNav
  30. },
  31. name: item.name
  32. });
  33. });
  34. const router = new VueRouter({
  35. routes,
  36. scrollBehavior(to, from, savedPosition) {
  37. if (to.path == '/index') {
  38. return null;
  39. } else {
  40. return { x: 0, y: 0 };
  41. }
  42. }
  43. });
  44. export default router;