微前端:angular 8版本以上使用qiankun

  1. 在 Angular 项目中安装 qiankunsingle-spa-angular 包。您可以使用以下命令进行安装:
    npm install qiankun single-spa-angular --save
  2. 创建一个 Angular 组件,并将其包装在 single-spa-angular 模块中。例如,以下是一个简单的组件:
    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-root',
      template: '<h1>Hello, {{name}}!</h1>'
    })
    export class AppComponent implements OnInit {
      name = 'Angular';
    
      ngOnInit() {
        console.log('AppComponent initialized');
      }
    }
    

    您可以将此组件包装在 single-spa-angular 模块中,如下所示:

    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { AppComponent } from './app.component';
    import { singleSpaAngular, getSingleSpaExtraProviders } from 'single-spa-angular';
    
    @NgModule({
      declarations: [AppComponent],
      imports: [BrowserModule],
      providers: [],
      bootstrap: [AppComponent],
    })
    export class AppModule {}
    
    const lifecycles = singleSpaAngular({
      bootstrapFunction: () => platformBrowserDynamic(getSingleSpaExtraProviders()).bootstrapModule(AppModule),
      template: '<app-root />',
      Router,
      NavigationStart,
    });
    export const bootstrap = lifecycles.bootstrap;
    export const mount = lifecycles.mount;
    export const unmount = lifecycles.unmount;
    

        

  3. main.ts 文件中,使用 registerMicroApps 方法注册您的微前端应用程序。例如,以下是一个简单的注册示例:
    import { enableProdMode } from '@angular/core';
    import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
    import { registerMicroApps, start } from 'qiankun';
    import { AppModule } from './app/app.module';
    import { environment } from './environments/environment';
    
    if (environment.production) {
      enableProdMode();
    }
    
    platformBrowserDynamic()
      .bootstrapModule(AppModule)
      .catch(err => console.error(err));
    
    registerMicroApps([
      {
        name: 'app1',
        entry: '//localhost:8080',
        container: '#app-container',
        activeRule: '/app1',
      },
    ]);
    
    start();
    

    在上面的示例中,我们使用 registerMicroApps 方法注册了一个名为 app1 的微前端应用程序。该应用程序的入口 URL 是 //localhost:8080,容器选择器为 #app-container,激活规则为 /app1。  

  4. 在您的微前端应用程序中,使用 single-spa-angular 模块的 platformBrowserDynamic 方法来启动 Angular 应用程序。例如,以下是一个简单的启动示例:
    import { platformBrowserDynamic } from 'single-spa-angular';
    
    platformBrowserDynamic().bootstrapModule(AppModule)
      .catch(err => console.error(err));
    

    在上面的示例中,我们使用 platformBrowserDynamic 方法启动了 Angular 应用程序。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董厂长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值