首先,它不是任何其他问题的重复,我已经阅读了角度指南。但是我还有几个问题。
功能模块是最简单的 - 您有一个功能 - 将其分组到功能模块中。让我们说除了明显的功能外,我还有每个应用程序都有的页面:
我可能会将所有内容移动到名为“静态”的功能模块,但我不喜欢这个名称,也不喜欢将大多数不相关的内容分组到同一个模块中,即错误页面和联系页面。那么,提到的页面的模式是什么?
现在,共享vs核心模块。 我有以下项目:
所以,主要的问题是如何选择我列出的项目以及那些新项目。
答案 0 :(得分:71)
您的问题的答案是主观的,但您可以遵循官方文档中的一些建议:What kinds of modules should I have and how should I use them?。如果您还没有阅读NgModule
和常见问题解答上的文档,我建议您花几个小时研究它们,事情会更加清晰(至少它们适合我:)
我使用以下设置并且效果很好 对我来说 :
directives
,components
和pipes
,只是为了让事情更有条理。示例:filesize.pipe
,click-outside.directive
,offline-status.component
... about.component
,contact.component
,app-toolbar.component
ui.service
,auth.service
,auth.guard
,data.service
,workers.service
.... user-profile.component
,dashboard.component
,dashboard-sidebar.component
... player
,playlist
,favorites
子模块的用途。如果您查看@angular/material2
,这将等同于MaterialModule
和许多子模块,例如MdIconModule
,MdSidenavModule
等。一般建议是:
回答您的具体问题:我会将所有这些路线放在一个模块中 - static
,public
,无论名称如何。 CsrfService
- 核心,Logger
- 核心或开发,HttpModule
- 核心,您只需要一个实例(可能),auth
- 核心。不要将服务放在共享中。
如果您无法决定在功能中分组的方式/内容,请创建一个新的应用,复制特定的功能文件夹,它也应该在那里工作。如果它没有,你需要更好地组织事情。