基于Webpack5 Federated Module的微服务框架

Posted anYun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Webpack5 Federated Module的微服务框架相关的知识,希望对你有一定的参考价值。

本文章主要围绕emp使用进行介绍,主要记录使用emp框架一些搭建过程

准备工作

emp 仓库链接: https://github.com/efoxTeam/e...
可根据 README 完成初步框架的创建创建工程 anyun-main 选择模版 react

基础调整

由于emp默认创建的react工程版本是16,所以需要删除默认包,重新安装最新版本备注:不想升级可忽略此步骤
1.yarn remove react react-dom react-router-dom
2.yarn add react react-dom react-router-dom
3.yarn remove @types/react @types/react-dom  @types/react-router-dom
4.yarn add -D @types/react @types/react-dom  @types/react-router-dom
  • 打开emp-config.js文件
shared: {
- react: {eager: true, singleton: true, requiredVersion: \'^16.13.1\'},
+ react: {eager: true, singleton: true, requiredVersion: \'^17.0.1\'},
- \'react-dom\': {eager: true, singleton: true, requiredVersion: \'^16.13.1\'},
+ \'react-dom\': {eager: true, singleton: true, requiredVersion: \'^17.0.1\'},
- \'react-router-dom\': {requiredVersion: \'^5.1.2\'},
+ \'react-router-dom\': {requiredVersion: \'^5.2.0\'},
},

其他

项目中如果使用了@别名,需要在emp-config.js增加以下代码
config.resolve.alias.set(\'@\', path.resolve(\'./\', \'src\'))
在webpack5中是默认没有node的core module,如果使用了这些核心库。需要在emp-config.js增加这些核心库,代码如下:
config.resolve.alias
    .set(\'zlib\',"browserify-zlib")
    .set(\'assert\', "assert")
    .set(\'buffer\', "buffer")
    .set(\'util\', "util")
    .set(\'stream\', "stream-browserify")
    .set(\'timers\', "timers-browserify")
设置source-map
config.devtool(empEnv === \'dev\' ? \'nosources-source-map\' : false)

相关文章

EMP微前端-带你快速入门
Webpack Module Federation属性介绍

以上是关于基于Webpack5 Federated Module的微服务框架的主要内容,如果未能解决你的问题,请参考以下文章

个人笔记2023年搭建基于webpack5与typescript的react项目

初识 Federated Learning

2.Paper小结——《Privacy-preserving blockchain-based federated learning for traffic flow prediction》

从0到1使用 Webpack5 + React + TS 构建标准化应用

论文BFLC A Blockchain-based Decentralized Federated Learning Framework with Committee Consensus

使用FREDATED引擎实现跨实例訪问