本篇内容主要讲解“微型前端的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微型前端的实现方法”吧!
微前端之间的零耦合
为了实现这种架构的好处,应尽可能避免意外耦合;这将解锁微前端模式必须提供的灵活性和可扩展性以及通过允许占用申请部分的升级或将来的完整重写来替换您的应用程序的未来证明。
每个微前端应该能够在隔离或容器应用中呈现。所需的数据应由每个微前端加载并避免数据瀑布。
做✅:
可以在不影响其他微前端的情况下交换的共享库。
加载所需的所有数据呈现。
不要❌:
在不同的微前端具有集中存储/共享数据。
共享积极开发的库。
单独的代码基础
每个微前端都应具有自己的代码库,并且选择的版本控制不应对项目开发或部署的方式产生任何影响。在单一的单一或单独的存储库下拥有所有项目都很好。
做✅:
使用单一代码仓 monorepos。
使用单个 repos。
每个微前端应独立部署
每个微型前端都有它自己的CI / CD管道,并且能够在没有其他微前端的任何依赖项的情况下部署到生产。应该避免的常见的反模式是“地狱的部署队列”,其中不同的微前端如此紧密地耦合,它们需要以特定顺序部署,以避免打破应用程序。
做✅:
具有单独的CI / CD管道。
按需发布。
不要❌:
有发布时间表。
具有允许以前版本的增量/顺序部署。
微前端应独立测试
因为需要单独的微前端以及容器应用程序内部呈现,因此还可以使用单位和整个方案的集成测试测试它们是有意义的。
做✅:
为隔离的每个微前端渲染具有单位和集成测试。
在容器应用程序中运行微前端渲染的集成测试作为端到端测试的一部分。
微前端应该是有版本的
当一个新的微前端被部署到生产时,不应删除以前的版本,并且应该使用语义版本或类似的版本号标记新版本。由容器应用程序决定要使用(管理)的特定微前端或始终使用最新版本(Evergreen)的特定版本。
做✅:
使用语义版本化。
使用特定版本或“最新”。
不要❌:
需要全局部署更改版本。
删除以前的版本。
最小的沟通
微前端之间的通信应尽可能最小,简单,避免尽可能多的全球状态和框架特定的解决方案。
如果两个或更多的微前端共享大量消息以提供其最小功能,它们可能太紧密耦合,并且它们可以共享类似的足够的目的,即它们应该被认为将它们集成到一个中。
做✅:
保持信息小而简单。
如果可能的话,避免有状态和通信框架。
不要❌:
股东。
有不必要的沟通。
CSS应该是范围
来自一个微前端的CSS不应影响其它微前端。
做✅:
为您的CSS定义范围。
使用CSS-IN-JS或命名法库(如CSS模块)。
不要❌:
使用全局CSS。
最终建议书
做✅:
尝试创建自治团队。
尝试安排围绕业务功能的微前端。
可重用性是一个很好的“副作用”而不是目标。
不要❌:
不要强制这种架构风格,因为它是“新”。
您不需要多个JavaScript框架。
您不需要“微前端框架”。
微前端不必是“Micro”。
到此,相信大家对“微型前端的实现方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!