当前文档对应 qiankun 3.0(RC),安装请使用 npm i qiankun@rc;2.x 文档见 v2 站点
Skip to content

API 总览

建议优先使用 loadMicroApp 按需加载和管理微应用实例。调用后会立即开始挂载应用,并返回用于更新、查询状态和卸载应用的句柄。

ts
import { loadMicroApp } from 'qiankun';

const microApp = loadMicroApp({
  name: 'sub-app',
  entry: '//localhost:7101',
  container: document.getElementById('subapp-container')!,
});

// 不再需要时卸载实例
await microApp.unmount();

如果应用必须根据 URL 自动激活,可使用 registerMicroAppsstart。这是面向路由驱动场景的另一种加载方式,与 loadMicroApp 相互独立,无需搭配使用。

导出一览

导出用途
loadMicroApp立即加载并挂载一个微应用,返回 MicroApp 句柄。
registerMicroApps注册由 URL activeRule 驱动的微应用。
start启动路由驱动的注册模式。直接使用 loadMicroApp 时通常不需要调用。
setDefaultMountApp没有应用挂载时跳转到默认应用路由。
runAfterFirstMounted首个微应用挂载后执行一次回调。
addErrorHandler / removeErrorHandler注册或移除全局错误处理器。
isRuntimeCompatible检查当前浏览器是否满足 qiankun v3 的基础运行条件。
prefetchApps已废弃的手动预取 API。

两种加载方式

按需加载:loadMicroApp

适用于页面区域、组件、弹窗,以及由主应用状态控制的微应用。主应用负责决定实例的创建和卸载时机。

ts
function loadMicroApp<T extends ObjectType>(
  app: LoadableApp<T>,
  configuration?: AppConfiguration,
  lifeCycles?: LifeCycles<T>,
): MicroApp;

返回值提供 mountunmountgetStatus 和各阶段的 Promise。只有微应用导出 update 生命周期时,句柄才提供 update 方法。不再使用实例时,应调用 unmount()

路由驱动:registerMicroApps + start

适用于完全由 URL 决定应用挂载状态的场景。应先注册应用及其 activeRule,再调用 start(),由 single-spa 根据路由自动激活和卸载应用。

ts
registerMicroApps(apps, lifeCycles?);
start(opts?);

两种方式的选择原则见加载一个微应用实例

配置、生命周期与类型

迁移与废弃项

从 qiankun 2.x 升级时,请参阅从 qiankun 2.x 迁移。各 API 页面仅描述当前版本的行为。

prefetchApps 已废弃;流式 HTML 入口加载会在解析过程中自动发现并预加载资源。替代建议见优化微应用加载

基于 MIT 协议发布