【问题标题】:Angular 6 should i create separate app or separate module for admin dashboard?Angular 6 我应该为管理仪表板创建单独的应用程序还是单独的模块?
【发布时间】:2019-03-19 12:24:34
【问题描述】:

我目前正在从事 angular 6 项目,以创建具有以下功能的网站(公司网站)

  1. 作为公司网站 + 在线商店的网站 登陆页面的内容(如滑块、文本和图像、列表) 可以从管理仪表板更改。

  2. 还有一个带有购物车的产品页面,用户可以在其中 通过登录购买公司产品

  3. 管理员仪表板,管理员可以在其中控制 网站

注意:

管理仪表板和网站内容(除了产品页面和购物卡)连接到 NodeJs Api website-api

产品列表和购物车连接到不同的 NodeJs Api

目前我已经创建了一个包含以下模块的 Angular 项目

  • 管理模块:包含与管理仪表板相关的组件和路由
  • 视图模块:具有与主页、关于、联系我们、职业等不同页面相关的不同组件和路线

  • 产品模块:包含与产品页面、列表和购物车相关的组件

  • 共享模块:这些不同模块之间共享的组件

目前我有以下顾虑:

  • 我应该如何处理项目结构/模块以优化其性能?

  • 我应该如何处理身份验证,因为我有同一个应用程序连接到两个单独的 API(我应该有单独的身份验证)吗?

  • 我应该为管理仪表板创建一个单独的 Angular 6 应用程序,还是应该坚持在同一个应用程序中创建不同的模块?

感谢任何形式的建议,以提高应用程序的整体性能

【问题讨论】:

    标签: angular module angular6 project-structure angular-module


    【解决方案1】:

    我认为,首先,每个项目都应根据其需求、规模和复杂程度进行处理。 话虽如此,在您的具体情况下,我认为您应该问自己,该管理面板有多大? 我已经看到,从管理面板,它是最小的和狭窄的,只允许管理员执行简单的管理级别的操作,到全面的管理面板,被数百人使用,具有不同的访问级别,在多平台上显示统计数据拥有 50 名或更多员工的手术室中的屏幕。 如果您的管理面板应该只执行基本到中等复杂性的管理操作,它可以在同一个应用程序中。如果规模和复杂性变得更大,您可以考虑将其分离到一个专门的应用程序中,以更好地控制系统。

    不要忘记,在不需要的地方(通常是小规模)分离成两个应用程序可能会导致额外的不必要的“混乱”。

    我的回答中提到的“缩放级别”都是相关的,就像一切一样。 因此,做出决定并根据大局的情况“衡量”事物的人就是您。

    祝你好运!

    【讨论】:

      【解决方案2】:

      性能

      首先,你应该优化你自己的代码:避免O(n²)复杂性(或更多),只请求所需的HTTP数据,不要导入你不使用的模块......

      之后,您还可以使用延迟加载来按需加载模块。

      最后,您可以使用服务器端渲染来优化应用程序的加载时间。

      将您的应用一分为二当然会影响您的性能,但这在很大程度上取决于两个应用的内容。

      认证

      这取决于您:您可以拥有两个独立的应用程序、两个独立的数据库和两个不同的身份验证,或者您可以拥有一个具有基于角色的数据库的应用程序。

      我在这两个方面都见过并工作过,既不是最好的,也不是最差的。它们都有优点和缺点:由您选择。

      鉴于这两种意见,您必须猜到最后一种:您可以为您的应用程序选择任何一种方式。这实际上取决于您、您的团队和您的最终用户。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        • 1970-01-01
        相关资源
        最近更新 更多