由于该公司有一个基于WebPack5模块联合会的项目,因此与Micro Front -End项目没有太多接触,因此我还了解了联邦模块。目前,微型前端是许多好处。我不会说一些官方的好处,所以我认为最大的好处与历史应用兼容以实现渐进发展。今天,我主要记录我对模块fedetation的使用
https://github.com/songlindong/moduel-federations.git
模块FedEtation是联邦模块,它是WebPack5中的一个新功能,可以实现交叉应用共享模块。我在这里使用此插头。首先,这里有三个模块。
容器容器应用以及Micro1和Micro2两个微型套件应应用。现在,您需要通过联邦模块在容器中加载并运行Micro1和Micro2。
然后在容器中的容器中的webpack.config.js
实际上,它已经经历了两个包装过程,一个是一个普通的大包装过程,另一个是模块插件软件包的过程。
模块联邦插件 - > remoteentry.js包含需要加载模块中的文件列表 +如何加载其代码
这两个文件在这里生成,一个是main.js->它仅包含index.js文件中的内容
在这里,我们看不到micro2中的内容,因为他是远程加载,并且确实
当容器加载和执行时,首先加载并执行main.js。目前,您需要加载和执行Bootstrap.js。然后,当加载Bootstrap.js时,您会发现该文件需要在microS2中加载,然后ememententry.js可以知道如何加载。目前,您需要sxy_index.js和face.js,然后加载它们,最后执行Bootstrap.js。
这是为了解决哪些问题,也就是说,伪造模块在两个应用程序中都加载了:micro1和micro2,加载时将加载两次。但是这里有一个问题,当两个应用程序中的伪造版本不一致时,仍将加载两次。此时
当通过微型应用程序加载容器应用程序时,应有权确定应安装安装的位置,而不是在使用代码时直接安装。
原始:https://juejin.cn/post/7095238310620528670