https://segmentfault.com/q/1010000016984480
antd design pro 的路由配置是在一个route.config.js中的,现在的需求是可以通过页面配置动态生成路由项,然后新增到route.config.js中去,对应菜单中也就多出一项新增的页面了。
然后,由于没有发布经验,所以预先问下大家,发布后,上面的操作会受到影响吗,因为我担心发布打包后,不知道还能不能直接修改这个route.config.js文件?
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',
},
],
},
];