Angular 4 - 需要更好的架构方面的帮助

问题描述 投票:0回答:2

我对Angular 4项目架构有疑问。

我想构建一个具有以下子模块的应用程序

  1. 帐户模块 - 登录页面,忘记密码页面等。
  2. 管理模块 - 这将有管理员相关的东西。
  3. 公共模块 - 此模块将向最终用户公开。

现在,我脑子里有两种方法

  1. 仅保留单个模块,即AppModule,并为各个模块创建3个主要组件,如上所述。然后创建更多组件并将这些组件注入这些主要组件中。使用Angular Router模块管理路由。
  2. 第二种方法,为每个应用程序创建3个不同的模块,如下图所示。但在这种情况下,我们还必须创建一个单独的模块,这些模块将在所有这3个模块中共享。该模块将包含所有服务。但通过这样做,我们的项目中将有多个模块。

enter image description here

我不确定哪种方法是正确的。有人可以在这里指导我,并为我提供更好的架构建议。

angular typescript angular2-routing
2个回答
1
投票

在架构方面没有“正确”的方式。选项1和2都是组织项目的有效方式;但是,我更愿意使用选项2,特别是如果您认为您的项目最终将是中型到大型。通过使用单独的模块,您可以实现其他有益的功能来帮助提高性能,例如延迟加载。

我个人使用1.核心模块用于所有主页,如Home,About等,2。所有组件的共享模块(例如,<app-navbar></app-navbar>),以及3.路由器的路由模块。

您可以在此处查看我使用此组织结构制作的示例项目:https://github.com/stanleyeosakul/bulma-publishing


1
投票

我个人想采用第二种方法。那就是为每个功能创建单独的模块。

帐户模块 - 登录页面,忘记密码页面等。

管理模块 - 这将有管理员相关的东西。

公共模块 - 此模块将向最终用户公开。

然后提取共享模块中的所有通用逻辑和功能,您将为每个公共逻辑创建服务/ pip /组件。

好处是您可以随时重用通用逻辑,也可以根据需要覆盖或创建自定义模块,而不会影响您的核心服务。

你能分享一下你的想法吗?

© www.soinside.com 2019 - 2024. All rights reserved.