Angular 6我应该为管理仪表板创建单独的应用程序还是单独的模块?

时间:2018-10-15 06:03:24

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

我目前正在研究角度6 项目,以创建具有以下功能的网站(公司网站)

  1. 充当公司网站+在线商店的网站 内容(例如滑块,文本和图像,列表)所在的登录页面 可以从管理控制台更改。

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

  3. 购买公司产品
  4. 管理控制台,管理员可以在其中控制内容 网站

注意:

管理控制台和网站内容(期望产品页面和购物卡)已连接到NodeJs Api website-api

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

目前,我已经使用以下模块创建了一个有角度的项目

  • 管理模块:具有与管理控制台相关的组件和路由
  • 查看模块:具有与不同页面(例如首页,关于,联系我们,职业等)相关的不同组件和路线

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

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

当前我有以下担忧:

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

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

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

感谢您提出任何可改善整体应用性能的建议

2 个答案:

答案 0 :(得分:1)

性能

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

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

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

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

身份验证

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

我已经看过并且在这两者上都做过,最好的和最糟糕的都不是。它们都有优点和缺点:由您选择。

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

答案 1 :(得分:0)

我认为,首先,应根据项目的需求,规模和复杂程度来进行每个项目。 话虽如此,在您的特定情况下,我确实认为您应该问自己,该管理面板有多大? 从管理面板来看,这是最小且狭窄的,仅允许管理员执行简单的管理级别的操作,到全面的管理面板(由数百个具有不同访问级别的用户使用),在多屏幕上显示统计数据。拥有50名或更多员工的手术室。 如果您的管理面板仅执行基本到中等复杂度的管理操作,则它可以在同一应用中。如果规模和复杂性大于此范围,则可以考虑将其分离到专用应用程序中,以保持对系统的更好控制。

别忘了,将两个不需要的应用程序分开(通常是小规模应用程序),很可能会导致多余的“麻烦”。

我的回答中提到的“缩放级别”都是关系性的,就像一切一样。 因此,进行呼叫并根据总体情况“衡量”事物的人就是您。

祝你好运!