micro-app 如何接入umi
时间: 2023-12-02 20:05:47 浏览: 258
umi-plugin-hui:用于hui框架的umi micro-app插件
`micro-app` 是一种微前端解决方案,而 `umi` 是一个企业级前端应用框架,提供了非常完善的开发、打包和部署体系。在 `umi` 中接入 `micro-app`,可以让我们更加方便地开发和维护微前端应用。
接入 `micro-app` 的基本步骤如下:
1. 在主应用中安装 `qiankun` 包:
```bash
yarn add qiankun
```
2. 在主应用中创建一个 `micro-app` 配置文件,例如 `micro-apps.js`,将需要接入的子应用注册到 `qiankun` 中:
```javascript
import { registerMicroApps } from 'qiankun';
registerMicroApps([
{
name: 'app1',
entry: '//localhost:8001',
container: '#subapp-container',
activeRule: '/app1',
},
{
name: 'app2',
entry: '//localhost:8002',
container: '#subapp-container',
activeRule: '/app2',
},
]);
```
其中,`name` 是子应用的名称,`entry` 是子应用的入口地址,`container` 是子应用的容器,`activeRule` 是用于匹配子应用路由的规则。
3. 在主应用的路由配置文件中,为需要接入的子应用配置路由规则:
```javascript
export default [
{
path: '/',
component: '@/layouts/index',
routes: [
{
path: '/app1',
microApp: 'app1',
},
{
path: '/app2',
microApp: 'app2',
},
],
},
];
```
其中,`microApp` 是指定路由对应的子应用名称。
4. 在主应用中的模板文件中,添加子应用容器:
```html
<div id="subapp-container"></div>
```
这个容器会用于挂载子应用的内容。
5. 在需要接入的子应用中,使用 `qiankun` 的 `start` 方法启动子应用:
```javascript
import { start } from 'qiankun';
start();
```
6. 在需要接入的子应用中,导出一个 `bootstrap` 函数、一个 `mount` 函数和一个 `unmount` 函数,用于子应用的生命周期管理:
```javascript
export const bootstrap = () => {
// 子应用初始化时调用
};
export const mount = () => {
// 子应用渲染时调用
};
export const unmount = () => {
// 子应用卸载时调用
};
```
以上就是在 `umi` 中接入 `micro-app` 的基本步骤。需要注意的是,在开发模式下,需要同时启动主应用和子应用,才能看到微前端的效果。在生产环境中,可以将所有子应用打包成独立的文件,再由主应用进行加载和管理。
阅读全文