Module Federation share ui-components library



我需要在我的远程应用程序中导入和重用一些ui组件(表,按钮等),这是最好的方法?所有的应用程序(包括shell和远程)都是带有多个repo的Angular项目。

确定可能的解决方案:

  • 发布一个带有组件的npm库(缺点:每当更新完成时,都会更新每个项目中的每个依赖项)
  • 在shell应用程序中定义组件并将它们公开为远程?(可行吗?缺点?)
  • 新的Angular项目作为一个远程,暴露组件并在其他远程应用中导入它们(这可行吗?)
  • ?

我使用Typescript、Webpack 5、React(一个自定义样板)创建了cli、托管和部署,成功地在组件级使用模块联合进行了概念验证。这个生态系统是零依赖的,几乎不需要安装软件包。它背后的设计很棒。然而,在实际用例中很难进行扩展并保持生产效率。我试图使用所有这些工具,我已经实现了创建一个真正的软件,不幸的是,它是太早了,在一个可接受的时间框架。由于它相对较新,因此缺乏正常的工具和文档,这使得它目前非常具有挑战性。话虽如此,还是有可能的:)

目前最大的挑战是:

  1. 超过30个组件后,很难进行更改。我的命令行太粗糙了,需要更完整的实现。
  2. 使用Typescript,在运行时检查状态更具挑战性。调试要困难得多。

您可以查看我的POC的单orepo。除了研发,它还没有准备好做任何其他事情。这可能有帮助。

https://github.com/Infinisoft-inc/kitchen-next

请随时提问:)

最新更新