Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度4-需要帮助以获得更好的架构_Angular_Typescript_Angular2 Routing - Fatal编程技术网

Angular 角度4-需要帮助以获得更好的架构

Angular 角度4-需要帮助以获得更好的架构,angular,typescript,angular2-routing,Angular,Typescript,Angular2 Routing,我有一个关于Angular 4项目架构的问题 我想建立一个应用程序,将有以下子模块 帐户模块-登录页面、忘记密码页面等 管理模块-这将有管理相关的东西 公共模块-此模块将向最终用户公开 现在,我有两种想法 仅保留单个模块,即AppModule,并如上所述为各个模块创建3个主要组件。然后创建更多组件并将这些组件注入这些主要组件中。使用角路由器模块管理路由 第二种方法,为每个应用程序创建3个不同的模块,如下图所示。但在这种情况下,我们还必须创建一个单独的模块,该模块将在所有这3个模块中共享。该模块将

我有一个关于Angular 4项目架构的问题

我想建立一个应用程序,将有以下子模块

  • 帐户模块-登录页面、忘记密码页面等
  • 管理模块-这将有管理相关的东西
  • 公共模块-此模块将向最终用户公开
  • 现在,我有两种想法

  • 仅保留单个模块,即AppModule,并如上所述为各个模块创建3个主要组件。然后创建更多组件并将这些组件注入这些主要组件中。使用角路由器模块管理路由

  • 第二种方法,为每个应用程序创建3个不同的模块,如下图所示。但在这种情况下,我们还必须创建一个单独的模块,该模块将在所有这3个模块中共享。该模块将包含所有服务。但是通过这样做,我们的项目中将有多个模块

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

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

    我个人使用1。一个核心模块,用于所有主页,如主页,关于等,2。所有组件的共享模块(例如,
    没有“权限”在体系结构方面。选项1和2都是组织项目的有效方法;但是,我更喜欢使用选项2,特别是如果您认为您的项目最终将是中型到大型的。通过使用单独的模块,您可以实现其他有益的功能来帮助提高性能,例如延迟加载


    我个人使用1.核心模块用于所有主页,如主页、关于等;2.共享模块用于所有组件(例如,

    ),我个人希望使用第二种方法。即为每个功能创建单独的模块

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

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

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

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

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


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

    我个人想采用第二种方法,即为每个功能创建单独的模块

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

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

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

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

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

    你能分享你的想法吗