当前位置: 首页 > news >正文

一文大白话讲清楚webpack进阶——9——ModuleFederation实战

文章目录

  • 一文大白话讲清楚webpack进阶——9——ModuleFederation实战
  • 1. 啥是ModuleFederation
  • 2. 创建容器应用
  • 3. 创建远程应用
  • 4. 启动远程应用
  • 5. 使用远程应用的组件

一文大白话讲清楚webpack进阶——9——ModuleFederation实战

1. 啥是ModuleFederation

  • 先看这篇文章,了解ModuleFederation
  • 一文大白话讲清楚webpack进阶——8——Module Federation

2. 创建容器应用

  • 创建项目并初始化,
  • 安装webpack和webpack-cli
  • 配置webpack.config.js
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
const path = require("path");module.exports = {entry: './src/index.js',mode: 'development',output: {publicPath: 'auto',},plugins: [new ModuleFederationPlugin({name: "sharedLib",filename: "remoteEntry.js",exposes: {'./MyComponent': './src/MyComponent.js',},shared: {react: { singleton: true, requiredVersion: '^17.0.0' },'react-dom': { singleton: true, requiredVersion: '^17.0.0' }}}),],
};

3. 创建远程应用

  • 创建项目并初始化,
  • 安装webpack和webpack-cli
  • 配置webpack.config.js
const ModuleFederationPlugin = require("webpack/lib/container/ModuleFederationPlugin");
const path = require("path");module.exports = {entry: './src/index.js',mode: 'development',output: {publicPath: 'auto',},plugins: [new ModuleFederationPlugin({name: "app",remotes: {sharedLib: "sharedLib@http://localhost:3000/remoteEntry.js",},shared: {react: { singleton: true, requiredVersion: '^17.0.0' },'react-dom': { singleton: true, requiredVersion: '^17.0.0' }}}),],
};

4. 启动远程应用

  • 启动远程应用

5. 使用远程应用的组件

  • 在容器应用中的入口文件引用组件
import React from 'react';
import ReactDOM from 'react-dom';
import MyComponent from 'sharedLib/MyComponent'; // 从远程库中导入组件
import App from './App'; // 本地组件或其他逻辑ReactDOM.render(<React.StrictMode><App /><MyComponent /></React.StrictMode>, document.getElementById('root'));
http://www.lryc.cn/news/529646.html

相关文章:

  • Mysql意向锁
  • 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
  • AD电路仿真
  • vim 中粘贴内容时提示: -- (insert) VISUAL --
  • Redis_Redission的入门案例、多主案例搭建、分布式锁进行加锁、解锁底层源码解析
  • ZZNUOJ(C/C++)基础练习1021——1030(详解版)
  • 力扣116. 填充每个节点的下一个右侧节点指针
  • 寒武纪MLU370部署deepseek r1
  • Python NumPy(10):NumPy 统计函数
  • Ubuntu下的Doxygen+VScode实现C/C++接口文档自动生成
  • 【字符串两大注意事项】
  • jmap命令详解
  • 微机原理与接口技术期末大作业——4位抢答器仿真
  • FOC核心原理的C语言实现
  • 基于互联网+智慧水务信息化整体解决方案
  • 【信息系统项目管理师-选择真题】2005下半年综合知识答案和详解
  • 计算机毕业设计Python+CNN卷积神经网络考研院校推荐系统 考研分数线预测 考研推荐系统 考研爬虫 考研大数据 Hadoop 大数据毕设 机器学习
  • 第十一章 F - H 开头的术语
  • 深度研究新范式:通过Ollama和DeepSeek R1实现自动化研究
  • 深度学习的应用
  • 基于51单片机和WS2812B彩色灯带的流水灯
  • DFS(深度优先搜索)与回溯算法详解
  • 服务器虚拟化技术详解与实战:架构、部署与优化
  • 数据分析系列--②RapidMiner导入数据和存储过程
  • CSS 背景与边框:从基础到高级应用
  • 国内外人工智能AI工具网站大全(一键收藏,应有尽有)
  • Java中初步使用websocket(springBoot版本)
  • 2025年大年初一篇,C#调用GPU并行计算推荐
  • K8S ReplicaSet 控制器
  • FreeRTOS学习 --- 任务调度