微前端初始化
本专题按接入目标选择前端基座初始化入口。
在潮汐栈里,SDK 初始化方法本质上解决的是同一件事: 让你的前端产物以平台可识别的生命周期方式挂到宿主里。
先判断你该用哪一个入口
| 当前目标 | 推荐入口 | 说明 |
|---|---|---|
| 做一个完整业务页面或自定义登录页 | initMicroApp | 适合页面级微前端 |
| 做一个单页、单组件式页面入口 | initSingleComponent | 实际上是 initMicroApp 的别名 |
| 替换顶栏、侧栏或平台壳层 | initLayoutComponent | 适合布局组件 |
| 注册 AMIS 自定义组件、动作、校验器、公式 | initAmisComponentLib | 适合组件库扩展 |
如果你还没判断清楚要走“微 前端页面、布局组件还是组件库”,建议先回到 前端融合开发方式。
四个入口的共同点
这几个初始化方法最终都会返回同一组生命周期函数:
| 方法 | 说明 |
|---|---|
bootstrap() | 微前端初始化时调用一次 |
mount(props) | 每次挂载时调用 |
update(props) | 宿主更新传参时调用 |
unmount(props) | 卸载时调用 |
实践上,你通常会这样导出:
const { bootstrap, mount, update, unmount } = initMicroApp({...})
export { bootstrap, mount, update, unmount }
宿主会注入哪些公共 props
无论你用哪一种初始化入口,宿主都会注入一组通用 props。当前 SDK 类型里比较稳定的是:
| 字段 | 类型 | 说明 |
|---|---|---|
token | MicroAppToken | null | 当前登录令牌快照 |
apiHost | string | 宿主接口地址 |
mainWindow | Window | 主应用 window |
appInfo | Record<string, any> | 应用信息 |
config | Record<string, any> | 宿主配置 |
__utils__ | MicroAppCommonUtils | 宿主注入的运行时工具 |
i18n | MicroAppI18n | 国际化能力 |
注意
虽然宿主会通过 __utils__ 注入很多运行时方法,但在业务代码里,仍然更推荐直接从 ouroboros-sdk 导入这些 API;只有在初始化前置阶段或特殊注入场景下,才需要直接操作 props.__utils__。
如果你想查这些运行时方法本身,请继续看 SDK 自动补全方法。
initMicroApp
initMicroApp 适合承接普通微前端页面,也是最通用的初始化入口。
常见场景:
- 独立业务页面
- 页面覆盖
- 自定义登录页
- 需要自己控制渲染实例和卸载逻辑的页面级入口