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

news/2025/2/6 16:11:12/

文章目录

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

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

Federation_2">1. 啥是ModuleFederation

2. 创建容器应用

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. 创建远程应用

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.ppmy.cn/news/1569842.html

相关文章

Qt跨屏窗口的一个Bug及解决方案

如果我们希望一个窗口覆盖用户的整个桌面&#xff0c;此时就要考虑用户有多个屏幕的场景&#xff08;此窗口要横跨多个屏幕&#xff09;&#xff0c;由于每个屏幕的分辨率和缩放比例可能是不同的&#xff0c;Qt底层在为此窗口设置缩放比例&#xff08;DevicePixelRatio&#xf…

计算机网络一点事(24)

TCP可靠传输&#xff0c;流量控制 可靠传输&#xff1a;每字节对应一个序号 累计确认&#xff1a;收到ack则正确接收 返回ack推迟确认&#xff08;不超过0.5s&#xff09; 两种ack&#xff1a;专门确认&#xff08;只有首部无数据&#xff09; 捎带确认&#xff08;带数据…

【自然语言处理(NLP)】生成词向量:ELMo(Embedded from Language Models)原理及应用

文章目录 介绍ELMo&#xff08;Embedded from Language Models&#xff09;核心思想模型结构**ELMo模型的核心结构**1. 字符级卷积层&#xff08;Char-CNN&#xff09;2. 双向LSTM层&#xff08;Bi-LSTM&#xff09;3. 多层表示的线性组合 预训练与微调优点缺点应用代码示例ELM…

深入剖析 HTML5 新特性:语义化标签和表单控件完全指南

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 02-HTML常见文本标签解析&#xff1a;从基础到进阶的全面指南 03-HTML从入门到精通&#xff1a;链接与图像标签全解析 04-HTML 列表标签全解析&#xff1a;无序与有序列表的深度应用 05-HTML表格标签全面…

高可用建设开篇 - 01 - 服务高可用建设指南

前言 本文探讨了高可用性的核心概念及其实现方法。强调通过冗余设计、故障发现与处理机制、技术方案和资源隔离等策略&#xff0c;来确保服务的持续可用。 1. 高可用的本质是什么 冗余&#xff01;冗余&#xff01;冗余&#xff01; 2. 什么会导致服务不可用 硬件故障 网络…

【Elasticsearch】 Intervals Query

Elasticsearch Intervals Query 返回基于匹配术语的顺序和接近度的文档。 intervals 查询使用 匹配规则&#xff0c;这些规则由一小组定义构建而成。这些规则然后应用于指定 field 中的术语。 这些定义生成覆盖文本中术语的最小间隔序列。这些间隔可以进一步由父源组合和过滤…

Apk反编译实现步骤

一站解决反编译 ① JADX是一个可以直接反编译apk的程序&#xff0c;无需下面繁琐的步骤。推荐使用&#xff01; jadx CSDN下载 1. 使用ApkTool拆包&#xff0c;得到AndroidManifest和res等资源文件&#xff1a; 命令使用&#xff1a;java -jar apktool.jar d yourApkFile.apk…

CTP查询资金费率和手续费没响应

CTP的OnRspQryInstrumentOrderCommRate()和OnRspQryInstrumentCommissionRate()和手续费率和手续费有关系&#xff0c;但是今天我通过重写这两个方法&#xff0c;并且调用ReqQryInstrumentCommissionRate()后没响应&#xff0c;查了半天发现&#xff0c;我应该把响应函数实现写…