117.info
人生若只如初见

Umi使用webpack5 Module Federation

Umi 可以使用 webpack5 的 Module Federation 插件来实现模块联邦。

首先,你需要确保你的 Umi 版本大于或等于 3.4.0。

然后,你需要在你的 Umi 项目中安装 webpack5 和 @umijs/plugin-mf 插件:

npm install webpack@latest @umijs/plugin-mf@latest

接下来,在你的 Umi 配置文件(.umirc.ts 或 config/config.ts)中添加插件配置:

export default {
plugins: [
['@umijs/plugin-mf'],
],
}

在你的入口文件中,你可以使用 __webpack_init_sharing____webpack_share_scopes__ 全局变量来配置模块联邦:

import { loadMicroApp } from 'qiankun';
// 定义共享范围
const shareScope = 'umi';
// 初始化模块联邦
if (window.__POWERED_BY_QIANKUN__) {
__webpack_init_sharing__('umi')
.then(() => import(/* webpackIgnore: true */ 'umi'))
.then((umi) => {
// 注册共享模块
umi.registerMicroApps([
{
name: 'app1',
entry: '//localhost:8001',
container: '#container',
activeRule: '/app1',
},
]);
// 启动应用
umi.start();
});
} else {
// 启动普通应用
loadMicroApp({
name: 'app1',
entry: '//localhost:8001',
container: '#container',
activeRule: '/app1',
props: {},
});
}

这样,你就可以在 Umi 中使用 webpack5 的 Module Federation 插件来实现模块联邦了。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe107AzsLBA5XBFE.html

推荐文章

  • umi插件开发流程是什么

    UMI 插件开发的流程通常如下: 创建插件项目:使用 umi 插件初始化工具(umi-plugin-init)创建一个新的插件项目。 开发插件逻辑:在生成的插件项目中,根据需求...

  • 什么是flex布局?flex布局能做什么

    Flex布局是一种用于设计和排列网页元素的CSS布局模型。它通过使用Flex容器和Flex子项来创建灵活的、自适应的布局。
    Flex布局可以做以下事情: 自适应布局:...

  • Android Q Labs 通用系统映像介绍

    Android Q Labs 通用系统映像是一种用于开发和测试Android Q系统的镜像文件。这个映像文件包含了Android Q系统的核心组件和功能,可以在模拟器或者实体设备上运行...

  • Android Doze 使用详解

    Android Doze 是一种省电模式,它可以在设备处于静止状态时自动将应用程序置于休眠状态,从而延长设备的电池寿命。以下是 Android Doze 的使用详解: 什么是 And...

  • 谈谈消息队列的设计与实现

    消息队列是一种存储和传递消息的机制,用于实现应用程序之间的异步通信。它可以帮助解耦应用程序的组件,提高系统的可伸缩性和可靠性。消息队列的设计与实现需要...