创建 qiankun 主应用
以 angular 17 为例
- 下载 angular脚手架
npm install -g @angular/cli
- 新建应用
ng new qiankun-main
- 下载qiankun 依赖
npm i qiankun
- 注册子应用
export class AppComponent implements OnInit {
ngOnInit(): void {
registerMicroApps([
{
name: 'app-vue3-vite',
entry: 'http://localhost:3002/',
container: '#container',
activeRule: '/app-vue3-vite',
},
{
name: 'app-ng-17',
entry: 'http://localhost:3003/',
container: '#container',
activeRule: '/app-ng17',
},
{
name: 'app-react-18',
entry: 'http://localhost:3000/',
container: '#container',
activeRule: '/app-react-18',
}
]);
start();
}
beforeLoad(app: any) {
return Promise.resolve();
}
beforeMount(app: any) {
return Promise.resolve();
}
afterMount(app: any) {
return Promise.resolve();
}
beforeUnmount(app: any) {
return Promise.resolve();
}
afterUnmount(app: any) {
return Promise.resolve();
}
}
- 配置通配符路由
// app.routes.ts
export const routes: Routes = [
{ path: '**', component: EmptyRouteComponent }
];
- 新建一个空的组件
import { Component } from '@angular/core';
@Component({
selector: 'main-empty-route',
template: '',
standalone: true
})
export class EmptyRouteComponent {
}
- 修改app.component.html
<router-outlet />
<div id="container" class="inner-content"></div>
- 启动项目
npm run start
- 创建子应用
vue3+vite子应用 - 完整实例
https://github.com/waliu/qiankun-template-example
- 加入交流群
qq 群763367896