Jelajahi Sumber

🎈 perf:优化动态路由在首次加载时未匹配导致警告、路由不存在时保留错误路径

preschool 10 bulan lalu
induk
melakukan
cc1d2b194d
2 mengubah file dengan 13 tambahan dan 1 penghapusan
  1. 10 0
      src/router/modules/remaining.ts
  2. 3 1
      src/store/modules/permission.ts

+ 10 - 0
src/router/modules/remaining.ts

@@ -593,6 +593,16 @@ const remainingRouter: AppRouteRecordRaw[] = [
         }
       }
     ]
+  },
+  {
+    path: '/:pathMatch(.*)*',
+    component: () => import('@/views/Error/404.vue'),
+    name: '',
+    meta: {
+      title: '404',
+      hidden: true,
+      breadcrumb: false
+    }
   }
 ]
 

+ 3 - 1
src/store/modules/permission.ts

@@ -40,10 +40,12 @@ export const usePermissionStore = defineStore('permission', {
         }
         const routerMap: AppRouteRecordRaw[] = generateRoute(res)
         // 动态路由,404一定要放到最后面
+        // preschooler:vue-router@4以后已支持静态404路由,此处可不再追加
         this.addRouters = routerMap.concat([
           {
             path: '/:path(.*)*',
-            redirect: '/404',
+            // redirect: '/404',
+            component: () => import('@/views/Error/404.vue'),
             name: '404Page',
             meta: {
               hidden: true,