Umi使用webpack5 Module Federation
Umi 可以使用 webpack5 的 Module Federation 插件来实现模块联邦。
首先,你需要确保你的 Umi 版本大于或等于 3.4.0。
然后,你需要在你的 Umi 项目中安装 webpack5 和 @umijs/plugin-mf 插件:
```bash
npm install webpack@latest @umijs/plugin-mf@latest
```
接下来,在你的 Umi 配置文件(.umirc.ts 或 config/config.ts)中添加插件配置:
```javascript
export default {
plugins: [
['@umijs/plugin-mf'],
],
}
```
在你的入口文件中,你可以使用 `__webpack_init_sharing__` 和 `__webpack_share_scopes__` 全局变量来配置模块联邦:
```javascript
import { loadMicroApp } from 'qiankun';
// 定义共享范围
const shareScope = 'umi';
// 初始化模块联邦
if (window.__POWERED_BY_QIANKUN__) {
__webpack_init_sharing__('umi')
.then(() => import( '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 插件来实现模块联邦了。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341