angular 8版本以上使用qiankun

在Angular8+项目中使用qiankun进行微前端开发,需安装qiankun,配置主应用和子应用。主应用需在main.ts中引入qiankun并注册子应用,子应用需配置shareAppScope共享状态。通过访问特定路径,qiankun自动加载子应用。
摘要由CSDN通过智能技术生成

在使用Angular 8及以上版本的项目中使用qiankun,需要按照以下步骤进行操作:

  1. 安装qiankun

在Angular项目中安装qiankun需要使用npm包管理器,在命令行中执行以下命令:

npm install qiankun --save
  1. 配置主应用

在Angular项目中的主应用(即父应用)中,需要在main.ts文件中引入qiankun并进行相关配置,具体代码如下:

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { environment } from './environments/environment';
import { AppModule } from './app/app.module';
import { registerMicroApps, start } from 'qiankun'; // 引入qiankun相关组件

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule)
  .then(() => {
    // 注册子应用
    registerMicroApps([
      {
        name: 'sub-app-1',
        entry: '//localhost:4201', // 子应用的入口地址,可以是本地或者远程地址
        container: '#subapp-container', // 子应用的DOM容器
        activeRule: '/sub-app-1', // 激活子应用的路由规则,可以是字符串或者正则表达式
      },
      {
        name: 'sub-app-2',
        entry: '//localhost:4202',
        container: '#subapp-container',
        activeRule: '/sub-app-2',
      }
    ]);

    // 启动qiankun
    start();
  })
  .catch(err => console.error(err));

需要注意的是,需要在index.html文件中提前定义好子应用的DOM容器,例如:

<body>
  <app-root></app-root>
  <div id="subapp-container"></div>
</body>
  1. 配置子应用

在Angular项目中的子应用中,需要在main.ts文件中进行相关配置,具体代码如下:

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { environment } from './environments/environment';
import { AppModule } from './app/app.module';
import { shareAppScope } from 'qiankun'; // 引入qiankun相关组件

if (environment.production) {
  enableProdMode();
}

const app = platformBrowserDynamic();
if (environment.production) {
  enableProdMode();
}
shareAppScope(['store']); // 共享状态

app.bootstrapModule(AppModule)
  .catch(err => console.error(err));


// 导出子应用生命周期钩子
export const bootstrap = () => {
  console.log('sub-app-1 bootstraped');
};
export const mount = () => {
  console.log('sub-app-1 mounted');
};
export const unmount = () => {
  console.log('sub-app-1 unmounted');
};

需要注意的是,需要使用shareAppScope方法来共享状态,该方法需要传入一个数组,里面的元素是要共享的状态名称。

  1. 运行项目

在完成上述配置后,即可启动项目并访问主应用,访问特定的路径时,qiankun会自动加载对应的子应用。

搜索引擎接入GPT真无敌了,再也忍不了百度的搜索

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一支一支杨桃枝

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

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

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

打赏作者

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

抵扣说明:

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

余额充值