router.ts 884 字节
Newer Older
xiaozhumaopao's avatar
xiaozhumaopao 已提交
1
// @ts-nocheck
richard_1015's avatar
richard_1015 已提交
2 3
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';
import Index from './views/Index.vue';
xiaozhumaopao's avatar
xiaozhumaopao 已提交
4

richard_1015's avatar
richard_1015 已提交
5
const pagesRouter: Array<RouteRecordRaw> = [];
xiaozhumaopao's avatar
xiaozhumaopao 已提交
6 7 8 9 10 11 12 13
const files = require.context('@/packages', true, /doc\.md$/);
files.keys().forEach(component => {
  const componentEntity = files(component).default;
  pagesRouter.push({
    path: `/${component.split('/')[1]}`,
    component: componentEntity
  });
});
richard_1015's avatar
richard_1015 已提交
14 15 16
const routes: Array<RouteRecordRaw> = [
  {
    path: '/',
17
    name: '/',
xiaozhumaopao's avatar
xiaozhumaopao 已提交
18 19
    component: Index,
    children: pagesRouter
richard_1015's avatar
richard_1015 已提交
20 21
  }
];
Z
zhuzhida 已提交
22 23
const router = createRouter({
  history: createWebHashHistory(),
xiaozhumaopao's avatar
xiaozhumaopao 已提交
24
  routes,
richard_1015's avatar
richard_1015 已提交
25
  scrollBehavior(to) {
xiaozhumaopao's avatar
xiaozhumaopao 已提交
26 27 28 29 30 31 32 33
    if (to.hash) {
      const id = to.hash.split('#')[1];
      const ele = document.getElementById(id);
      setTimeout(() => {
        ele && ele.scrollIntoView(true);
      });
    }
  }
Z
zhuzhida 已提交
34 35 36
});

export default router;