antd design pro is in a route.config.js. Now the requirement is to dynamically generate routing items through page configuration, and then add them to the route.config.js, thus adding a new page to the corresponding menu.
then, because I have no publishing experience, I would like to ask you in advance, after release, will the above operations be affected, because I am worried that after the release and packaging, I do not know if I can directly modify this route.config.js file?
export default [
// user
{
path: "/user",
component: "../layouts/UserLayout",
routes: [
{ path: "/user", redirect: "/user/login" },
{ path: "/user/login", component: "./User/Login" },
{ path: "/user/register", component: "./User/Register" },
{ path: "/user/register-result", component: "./User/RegisterResult" },
],
},
// lock
{
path: "/lock",
component: "../layouts/LockLayout",
routes: [
{ path: "/lock/screen-lock", component: "./lock/ScreenLock" },
],
},
// baseworkflow
{
path: "/baseworkflow",
component: "../layouts/WorkFlowLayout",
routes: [
{ path: "/baseworkflow/workflow-test", component: "./WF/WorkFlowTest" },
],
},
// app
{
path: "/",
component: "../layouts/BasicLayout",
Routes: ["src/pages/Authorized"],
authority: ["admin", "user"],
routes: [
// dashboard
{
path: "/",
redirect: "/dashboard/analysis",
// component: "./Dashboard/Analysis",
},
{
path: "/dashboard",
name: "dashboard",
icon: "dashboard",
routes: [
{
path: "/dashboard/analysis",
name: "analysis",
component: "./Dashboard/Analysis",
},
{
path: "/dashboard/monitor",
name: "monitor",
component: "./Dashboard/Monitor",
},
{
path: "/dashboard/workplace",
name: "workplace",
component: "./Dashboard/Workplace",
},
],
},
// forms
{
path: "/form",
icon: "form",
name: "form",
routes: [
{
path: "/form/basic-form",
name: "basicform",
component: "./Forms/BasicForm",
},
{
path: "/form/step-form",
name: "stepform",
component: "./Forms/StepForm",
hideChildrenInMenu: true,
routes: [
{
path: "/form/step-form",
name: "stepform",
component: "./Forms/StepForm/Step1",
// redirect: "/form/step-form/info",
},
{
path: "/form/step-form/info",
name: "info",
component: "./Forms/StepForm/Step1",
},
{
path: "/form/step-form/confirm",
name: "confirm",
component: "./Forms/StepForm/Step2",
},
{
path: "/form/step-form/result",
name: "result",
component: "./Forms/StepForm/Step3",
},
],
},
{
path: "/form/advanced-form",
name: "advancedform",
authority: ["admin"],
component: "./Forms/AdvancedForm",
},
],
},
// list
{
path: "/list",
icon: "table",
name: "list",
routes: [
{
path: "/list/table-basic-search",
name: "basicsearch",
component: "./List/BasicSearch",
search:{
id:"123456"
},
},
{
path: "/list/table-basic-search2",
name: "basicsearch2",
component: "./List/BasicSearch",
search:{
id:"456789"
},
},
{
path: "/list/table-basic-search3",
name: "basicsearch3",
component: "./List/BasicSearch",
search:{
id:"789456"
},
},
{
path: "/list/table-list-updown",
name: "updowntable",
component: "./List/TableListUpDown",
},
{
path: "/list/table-list-leftright",
name: "leftrighttable",
component: "./List/TableListLeftRight",
},
{
path: "/list/table-list",
name: "searchtable",
component: "./List/TableList",
},
{
path: "/list/basic-list",
name: "basiclist",
component: "./List/BasicList",
},
{
path: "/list/card-list",
name: "cardlist",
component: "./List/CardList",
},
{
path: "/list/search",
name: "searchlist",
component: "./List/List",
routes: [
{
path: "/list/search",
// redirect: "/list/search/articles",
component: "./List/Articles",
},
{
path: "/list/search/articles",
name: "articles",
component: "./List/Articles",
},
{
path: "/list/search/projects",
name: "projects",
component: "./List/Projects",
},
{
path: "/list/search/applications",
name: "applications",
component: "./List/Applications",
},
],
},
],
},
{
path: "/profile",
name: "profile",
icon: "profile",
routes: [
// profile
{
path: "/profile/basic",
name: "basic",
component: "./Profile/BasicProfile",
},
{
path: "/profile/advanced",
name: "advanced",
authority: ["admin"],
component: "./Profile/AdvancedProfile",
},
],
},
{
name: "result",
icon: "check-circle-o",
path: "/result",
routes: [
// result
{
path: "/result/success",
name: "success",
component: "./Result/Success",
},
{
path: "/result/fail",
name: "fail",
component: "./Result/Error"
},
],
},
{
name: "exception",
icon: "warning",
path: "/exception",
routes: [
// exception
{
path: "/exception/403",
name: "not-permission",
component: "./Exception/403",
},
{
path: "/exception/404",
name: "not-find",
component: "./Exception/404",
},
{
path: "/exception/500",
name: "server-error",
component: "./Exception/500",
},
{
path: "/exception/trigger",
name: "trigger",
hideInMenu: true,
component: "./Exception/TriggerException",
},
],
},
{
name: "account",
icon: "user",
path: "/account",
routes: [
{
path: "/account/center",
name: "center",
component: "./Account/Center/Center",
hideChildrenInMenu: true,
routes: [
{
path: "/account/center",
component: "./Account/Center/Articles",
// redirect: "/account/center/articles",
},
{
path: "/account/center/articles",
component: "./Account/Center/Articles",
},
{
path: "/account/center/applications",
component: "./Account/Center/Applications",
},
{
path: "/account/center/projects",
component: "./Account/Center/Projects",
},
],
},
{
path: "/account/settings",
name: "settings",
component: "./Account/Settings/Info",
hideChildrenInMenu: true,
routes: [
{
path: "/account/settings",
// redirect: "/account/settings/base",
component: "./Account/Settings/BaseView",
},
{
path: "/account/settings/base",
component: "./Account/Settings/BaseView",
},
{
path: "/account/settings/security",
component: "./Account/Settings/SecurityView",
},
{
path: "/account/settings/binding",
component: "./Account/Settings/BindingView",
},
{
path: "/account/settings/notification",
component: "./Account/Settings/NotificationView",
},
],
},
],
},
// joey
{
name: "joeymenu",
icon: "table",
path: "/joeymenu",
routes: [
{
path: "/joeymenu/list",
name: "list",
//component: "./JoeyMenu/Success",
// component: "./JoeyMenu/TableList",
component: "./JoeyMenu/TablePoolLog",
},
{
path: "/joeymenu/list2",
name: "list2",
component: "./JoeyMenu/TablePoolLog",
},
],
},
// workflow menu demo
{
name: "wf",
icon: "table",
path: "/wf",
routes: [
{
path: "/wf/demo",
name: "demo",
component: "./WF/Demo",
},
],
},
{
component: "404",
},
],
},
];