createFlexAdmin 的启动顺序
本文导航

createFlexAdmin 的启动顺序
入口在 src/bootstrap.ts。createFlexAdmin 返回已经装好的 Vue 应用,宿主再 mount。顺序是固定的,排查时按这个顺序往下看。
步骤
registerSubsystems(options.subsystems ?? [])。把子系统的路由、视图模块、菜单贡献、登录页定制写进内存。这一步在创建 Vue 应用之前。- 如果
splitSubApp.enable为真,打开按子系统切菜单,并记下离开子系统时回去的home。 createApp(App),注册v-auth、v-perms等指令,以及Auth、Perms、图标组件。getPlatformConfig(app)请求platform-config.json。失败就抛错。配置里的HttpTimeout会写到 HTTP 客户端。setupStore、注册 ECharts、app.use(router)。applySubsystemRoutes()把子系统静态路由加到已经创建的 router 上。router.isReady()之后,注入响应式存储、Motion、i18n、Element Plus、Table。loadPublicSettings()读公开站点配置,避免首屏先闪一下内置标志。- 依次
await sub.install?.(app)。install可以返回 Promise,框架会等它。
开启子系统切换
await createFlexAdmin({
subsystems: [adminUi, cmsUi],
splitSubApp: {
enable: true,
home: "/portal"
}
});
home 由宿主决定,框架不规定必须是某个固定路径。customEntry 也由宿主自己挂到路由上,框架不替你注册这个组件。
没开启 splitSubApp 时,登录后会拉全部菜单。开启之后,没有 app 参数就不会把所有子系统菜单一次装上来。
评论
加载评论中…