基于 Single-SPA:
应用注册和生命周期管理:
沙箱机制:
预加载机制:
简单易用:
框架无关:
高性能:
灵活扩展:
要使用 Qiankun,可以通过 npm 或 yarn 安装:
npm install qiankun
# 或者
yarn add qiankun
在主应用中,需要配置 Qiankun 并注册子应用:
import { registerMicroApps, start } from 'qiankun';
// 注册子应用
registerMicroApps([
{
name: 'app1', // 子应用名称
entry: '//localhost:7100', // 子应用入口
container: '#container', // 子应用挂载的容器
activeRule: '/app1', // 激活规则
},
{
name: 'app2',
entry: '//localhost:7200',
container: '#container',
activeRule: '/app2',
},
]);
// 启动 qiankun
start();
在子应用中,需要导出生命周期函数,这些函数将由主应用调用:
export async function bootstrap() {
console.log('子应用 bootstrap');
}
export async function mount() {
console.log('子应用 mount');
}
export async function unmount() {
console.log('子应用 unmount');
}
Qiankun 提供了多种样式隔离方案,可以通过配置来选择合适的方案:
import { start } from 'qiankun';
// 启动 qiankun 并启用样式隔离
start({
sandbox: { strictStyleIsolation: true }, // 使用严格样式隔离
});
Qiankun 支持在子应用被激活之前进行预加载,提高切换时的响应速度:
import { start } from 'qiankun';
// 启动 qiankun 并启用预加载
start({
prefetch: true, // 启用预加载
});
跨应用通信:
qiankun
提供的 API 实现不同子应用之间的数据传递。自定义加载策略:
loadMicroApp
,可以自定义子应用的加载策略,例如按需加载、延迟加载等。应用卸载和重用:
示例项目:
官方文档:
社区和支持: