index.ts 865 B

12345678910111213141516171819202122232425262728
  1. import type { App } from 'vue'
  2. import type { RouteRecordRaw } from 'vue-router'
  3. import { createRouter, createWebHashHistory } from 'vue-router'
  4. import remainingRouter from './modules/remaining'
  5. // 创建路由实例
  6. const router = createRouter({
  7. history: createWebHashHistory(), // createWebHashHistory URL带#,createWebHistory URL不带#
  8. strict: true,
  9. routes: remainingRouter as RouteRecordRaw[],
  10. scrollBehavior: () => ({ left: 0, top: 0 })
  11. })
  12. export const resetRouter = (): void => {
  13. const resetWhiteNameList = ['Redirect', 'Login', 'NoFind', 'Root']
  14. router.getRoutes().forEach((route) => {
  15. const { name } = route
  16. if (name && !resetWhiteNameList.includes(name as string)) {
  17. router.hasRoute(name) && router.removeRoute(name)
  18. }
  19. })
  20. }
  21. export const setupRouter = (app: App<Element>) => {
  22. app.use(router)
  23. }
  24. export default router