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

标签 angular module angular6 project-structure angular-module

我目前正在开发一个 Angular 6 项目,以创建一个具有以下功能的网站(公司网站)

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

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

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

注意:

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

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

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

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

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

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

目前我有以下担忧:

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

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

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

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

最佳答案

性能

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

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

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

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

身份验证

这取决于您:您可以拥有两个单独的应用程序,带有两个单独的数据库和两种不同的身份验证,也可以拥有带有基于 Angular 色的数据库的单个应用程序。

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

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

关于Angular 6 我应该为管理仪表板创建单独的应用程序或单独的模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810562/

相关文章:

javascript - 将数据从 ionic popover/modal 传回调用页面

angular - (Angular 5) 错误 : control. registerOnChange 不是函数

Angular - 使用 Mat 表处理表单数组

C# 全局模块

javascript - 如何找到选项卡关闭并清除本地存储

javascript - 对象在 html 中显示为未定义,即使它在服务中有数据

javascript - 控制 UMD javascript 模块的 "exposed global variable"

javascript - 生成 es6 模块导出

javascript - 在动态表单的选择选项中设置值

html - 如何让 "display: table"的多个div单行显示