[英]Angular core/feature/shared modules: what goes where
首先,它不是任何其他问题的重复,我已经阅读了有关角度指南。 不过我还有几个问题。
功能模块是最简单的 - 您有一个功能 - 将其分组到功能模块中。 让我们说除了显而易见的功能外,我还有每个应用程序都有的页面:
我可能会将所有内容移动到名为“静态”的功能模块,但我不喜欢这个名称,也不喜欢将大多数不相关的内容分组到同一个模块中,即错误页面和联系页面。 那么,提到的页面的模式是什么?
现在,共享vs核心模块。 我有以下几项:
因此,主要问题是如何选择我列出的项目以及那些新项目。
您的问题的答案是主观的,但是您可以遵循官方文档中的一些建议: 我应该使用哪些模块以及如何使用它们? 。 如果您还没有阅读有关NgModule
和FAQ的文档,我建议花几个小时研究它们,事情会更清楚(至少它们对我来说:)
我正在使用以下设置,它对我来说效果很好:
directives
, components
和pipes
,只是为了让事情组织得更好。 示例: filesize.pipe
, click-outside.directive
offline-status.component
, 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
- core。 不要将服务放在共享中。
如果您无法决定在功能中分组的方式/内容,请创建一个新的应用程序,复制特定的功能文件夹,它也应该在那里工作。 如果没有,你需要更好地组织事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.