fix(router): remove unnecessary lazy route component

This commit is contained in:
haitao(lj) 2022-10-18 17:32:21 +08:00
parent eb2efc365c
commit ce089fdb32
1 changed files with 17 additions and 11 deletions

View File

@ -1,6 +1,8 @@
import React, { Suspense, lazy } from 'react'; import React, { Suspense, lazy } from 'react';
import { RouteObject, createBrowserRouter } from 'react-router-dom'; import { RouteObject, createBrowserRouter } from 'react-router-dom';
import Layout from '@answer/pages/Layout';
import routeConfig, { RouteNode } from '@/router/route-config'; import routeConfig, { RouteNode } from '@/router/route-config';
import RouteRules from '@/router/route-rules'; import RouteRules from '@/router/route-rules';
@ -8,17 +10,21 @@ const routes: RouteObject[] = [];
const routeGen = (routeNodes: RouteNode[], root: RouteObject[]) => { const routeGen = (routeNodes: RouteNode[], root: RouteObject[]) => {
routeNodes.forEach((rn) => { routeNodes.forEach((rn) => {
rn.page = rn.page.replace('pages/', ''); if (rn.path === '/') {
rn.element = <Layout />;
} else {
/** /**
* cannot use a fully dynamic import statement * cannot use a fully dynamic import statement
* ref: https://webpack.js.org/api/module-methods/#import-1 * ref: https://webpack.js.org/api/module-methods/#import-1
*/ */
rn.page = rn.page.replace('pages/', '');
const Control = lazy(() => import(`@/pages/${rn.page}`)); const Control = lazy(() => import(`@/pages/${rn.page}`));
rn.element = ( rn.element = (
<Suspense> <Suspense>
<Control /> <Control />
</Suspense> </Suspense>
); );
}
root.push(rn); root.push(rn);
if (Array.isArray(rn.rules)) { if (Array.isArray(rn.rules)) {
const ruleFunc: Function[] = []; const ruleFunc: Function[] = [];