Angular NX一个Ui库或为每个Ui用例创建一个库

Angular NX一个Ui库或为每个Ui用例创建一个库,angular,monorepo,nrwl-nx,Angular,Monorepo,Nrwl Nx,所以我想在我的angular项目中创建共享库。我在下面列出了我的两种方法,它们都能发挥作用,但我不知道应该实施哪种更好 #1一个包含X个组件的Ui库 #2每个Ui都有一个库 本文指出我应该遵循第二种方法,但没有解释为什么应该为每个ui创建一个库: 如果我的问题的解决方案也可以用于数据访问和utillibs如果您在一个模块中有多个组件,那么您的最终捆绑包将包含所有组件,即使您只使用其中的一小部分 如果您为每个组件(或总是一起使用的组件)创建一个模块,那么包的大小会更有效,但最终会有更多的样板代码

所以我想在我的angular项目中创建共享库。我在下面列出了我的两种方法,它们都能发挥作用,但我不知道应该实施哪种更好

#1一个包含X个组件的Ui库 #2每个Ui都有一个库 本文指出我应该遵循第二种方法,但没有解释为什么应该为每个ui创建一个库:


如果我的问题的解决方案也可以用于
数据访问
util
libs

如果您在一个模块中有多个组件,那么您的最终捆绑包将包含所有组件,即使您只使用其中的一小部分

如果您为每个组件(或总是一起使用的组件)创建一个模块,那么包的大小会更有效,但最终会有更多的样板代码

第二种方法也是角材料


当我们处理作为应用程序一部分的UI库时,我不认为每个组件都需要一个模块

如果您将UI库发布为“真正的npm库”之类的材料,则情况就不同了


对于
数据访问
util
功能
libs,我绝对不会遵循第二种策略。这些组件通常是为应用程序的特定需要而设计的,即您需要所有组件,在这种情况下,更少的样板文件更重要。

如果您在一个模块中有多个组件,那么您的最终捆绑包将包含所有组件,即使您只使用其中的一小部分

如果您为每个组件(或总是一起使用的组件)创建一个模块,那么包的大小会更有效,但最终会有更多的样板代码

第二种方法也是角材料


当我们处理作为应用程序一部分的UI库时,我不认为每个组件都需要一个模块

如果您将UI库发布为“真正的npm库”之类的材料,则情况就不同了

对于
数据访问
util
功能
libs,我绝对不会遵循第二种策略。这些文件通常是为应用程序的特定需求而设计的,即,您需要所有这些文件,在这种情况下,模板越少越重要

libs
├── [...]
└── shared
    └── ui (lib)
        ├── ui-card (component)
        └── ui-*
libs
├── [...]
└── shared
    ├── ui-card (lib)
    │    └── card (component)
    └── ui-* (lib)
        └── *