feat: 更新路由插件,重构路由获取逻辑并添加新的路由页面
Some checks failed
/ depcheck (push) Successful in 1m35s
/ playwright (push) Successful in 1m56s
/ build-and-deploy-to-vercel (push) Failing after 30s

This commit is contained in:
严浩
2024-12-27 00:02:11 +08:00
parent bc8fc96580
commit b6a51c1245
8 changed files with 69 additions and 40 deletions

View File

@ -3,10 +3,10 @@ import { createGetRoutes, setupLayouts } from 'virtual:meta-layouts';
// import { createGetRoutes, setupLayouts } from 'virtual:generated-layouts';
import { createRouter, createWebHistory } from 'vue-router/auto';
import { handleHotUpdate, routes } from 'vue-router/auto-routes';
const setupLayoutsResult = setupLayouts(routes);
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: /* routes ?? */ setupLayouts(routes),
routes: /* routes ?? */ setupLayoutsResult,
strict: true,
scrollBehavior: (_to, _from, savedPosition) => {
if (savedPosition) {
@ -16,28 +16,19 @@ const router = createRouter({
}
},
});
const getRoutes = createGetRoutes(router);
if (import.meta.hot) handleHotUpdate(router);
if ($__DEV__) Object.assign(window, { router });
router.onError((error) => {
console.debug('🚨 [router error]: ', error);
});
export { getRoutes, router };
export { router, setupLayoutsResult, createGetRoutes };
export function install({ app }: { app: import('vue').App<Element> }) {
app
// Register the plugin before the router
.use(DataLoaderPlugin, { router })
// adding the router will trigger the initial navigation
.use(router);
if ('2' === ('1' as never)) {
const getRoutes = createGetRoutes(router);
const setupLayoutsResult = setupLayouts(routes);
console.debug(`routes :>> `, routes);
console.debug(`getRoutes() :>> `, getRoutes()); // 获取路由表但是不包含布局路由
console.debug(`setupLayoutsResult :>> `, setupLayoutsResult);
}
}
// ========================================================================
// =========================== Router Guards ==============================