基于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项目
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