在Angular中创建嵌套模块是否正确

Sam*_*ıcı 5 nested module organization angular angular5

我最近回顾了一些角度模块结构,但是我在同一个文件夹级别看到了许多模块。

???  feature-module1
|      ??? components
|      ??? services
|
|???  feature-module2
|      ??? components
|      ??? services
|
|???  feature-module3
|      ??? components
|      ??? services
|
|???  feature-module4
|      ??? components
|      ??? services
Run Code Online (Sandbox Code Playgroud)

我想将功能模块保持在如下的分层结构中:

.
??? app
    ??? admin(module)
    ?   ??? admin.component.ts
    ?   ?
    ?   ??? content-management-dashboard(module)
    ?   ?   ??? components
    ?   ?   ?   ??? content-list(component)
    ?   ?   ?   ??? edit-content(component)
    ?   ?   ?   ??? show-content(component)
    ?   ?   ??? user-management.component.ts
    ?   ?
    ?   ??? user-management-dashboard(module)
    ?       ??? edit-user(component)
    ?       ??? show-user(component)
    ?       ??? user-list(component)
    ?
    ?
    ??? home(module)
        ??? home.component.ts
        ?
        ??? content-dashboard(module)
        ?   ??? components
        ?   ??? services
        ?
        ??? user-dashboard(module)
            ??? components
            ??? services
Run Code Online (Sandbox Code Playgroud)

我有home和admin主模块,它们包含其中的相关子模块。

这样正确吗?我们应该为模块使用分层结构吗?

Fat*_*med 5

是的,您可以使用模块和子模块,我建议您使用延迟加载模式,当您的应用程序越来越大时,由于包的大小和加载所需的时间,您将遇到很大的性能问题。

延迟加载将仅加载应用程序所需的部分,它会在调用其路由之一时加载该模块。

您可以为应用程序中共享的所有内容(组件、指令、管道、服务)创建一个共享模块。

看看这里以获取更多详细信息