微前端子应用的生命周期钩子为啥不执行?
我用 qiankun 搭了个微前端项目,主应用能正常加载子应用,但子应用里的 bootstrap、mount 这些生命周期函数好像根本没被调用,控制台也没报错。
子应用导出的生命周期是这样写的:
export async function bootstrap() {
console.log('子应用 bootstrap');
}
export async function mount(props) {
console.log('子应用 mount', props);
}
export async function unmount() {
console.log('子应用 unmount');
}
主应用注册子应用时也配了 entry 和 name,但就是看不到这些 log。是不是我漏了什么配置?
export default来导出一个包含所有生命周期函数的对象。标准写法应该这样:
我之前也踩过这个坑,按照官方文档调整后就正常了。另外记得检查下主应用注册子应用时的配置,确保
activeRule和entry都设置正确。有时候路径没配对也会导致加载失败但不报错的情况。折腾微前端真挺耗神的,不过搞定了还挺有成就感。