Unhandled Rejection (AssertionError): sub apps must be config when using umi-plugin-qiankun
时间: 2025-02-09 13:14:54 浏览: 48
在使用umi-plugin-qiankun插件时,出现“Unhandled Rejection (AssertionError): sub apps must be config”错误,通常是因为子应用(sub apps)的配置不正确。以下是一些可能的原因和解决方法:
1. **子应用的配置缺失**:
确保在主应用的配置文件中正确配置了子应用的列表,并且每个子应用都有完整的配置信息。
```javascript
// config/config.js
export default {
qiankun: {
master: {
// 主应用配置
},
apps: [
{
name: 'sub-app1',
entry: '//localhost:7100',
container: '#subapp-viewport',
activeRule: '/sub-app1',
},
{
name: 'sub-app2',
entry: '//localhost:7200',
container: '#subapp-viewport',
activeRule: '/sub-app2',
},
],
},
};
```
2. **子应用的入口文件配置错误**:
确保子应用的入口文件正确导出了生命周期钩子函数(bootstrap、mount、unmount)。
```javascript
// src/index.js (子应用)
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
export async function bootstrap() {
console.log('react app bootstraped');
}
export async function mount(props) {
ReactDOM.render(<App />, props.container ? props.container.querySelector('#root') : document.getElementById('root'));
}
export async function unmount(props) {
ReactDOM.unmountComponentAtNode(props.container ? props.container.querySelector('#root') : document.getElementById('root'));
}
```
3. **主应用和子应用的版本不兼容**:
确保主应用和子应用使用的umi和umi-plugin-qiankun版本兼容。
```bash
npm install umi@latest
npm install umi-plugin-qiankun@latest
```
4. **子应用的路由配置不正确**:
确保子应用的路由配置与主应用的activeRule一致。
```javascript
// config/config.js (子应用)
export default {
routes: [
{
path: '/',
component: '@/pages/index',
},
],
};
```
通过以上步骤,可以解决“Unhandled Rejection (AssertionError): sub apps must be config”错误。
阅读全文
相关推荐


















