我目前正在研究角度6 项目,以创建具有以下功能的网站(公司网站)
充当公司网站+在线商店的网站 内容(例如滑块,文本和图像,列表)所在的登录页面 可以从管理控制台更改。
还有一个带购物车的产品页面,用户可以在 通过登录
管理控制台,管理员可以在其中控制内容 网站
注意:
管理控制台和网站内容(期望产品页面和购物卡)已连接到NodeJs Api website-api
产品列表和购物车已连接到不同的NodeJ Api
目前,我已经使用以下模块创建了一个有角度的项目
查看模块:具有与不同页面(例如首页,关于,联系我们,职业等)相关的不同组件和路线
产品模块:与产品页面,列表和购物车相关的组件
共享模块:这些不同模块之间共享的组件
当前我有以下担忧:
我应如何处理项目结构/模块以优化其性能?
我应该如何处理身份验证,因为我将同一个应用程序连接到两个单独的API(我应该具有单独的身份验证)吗?
我应该为管理仪表板创建单独的angular 6应用程序还是应该坚持在同一应用程序中创建其他模块?
感谢您提出任何可改善整体应用性能的建议
答案 0 :(得分:1)
首先,您应该优化自己的代码:避免O(n²)
复杂性(或更多),仅请求所需的HTTP数据,不要导入不使用的模块...
之后,您还可以使用延迟加载来按需加载模块。
最后,您可以使用服务器端渲染来优化应用程序的加载时间。
将您的应用程序一分为二当然会影响您的性能,但这在很大程度上取决于两个应用程序的内容。
由您决定:您可以拥有两个单独的应用程序,两个独立的数据库和两个不同的身份验证,或者您可以拥有一个具有基于角色的数据库的单个应用程序。
我已经看过并且在这两者上都做过,最好的和最糟糕的都不是。它们都有优点和缺点:由您选择。
考虑到这两种意见,您必须猜到最后一种:您可以为应用程序选择任何一种方式。这实际上取决于您,您的团队和最终用户。
答案 1 :(得分:0)
我认为,首先,应根据项目的需求,规模和复杂程度来进行每个项目。 话虽如此,在您的特定情况下,我确实认为您应该问自己,该管理面板有多大? 从管理面板来看,这是最小且狭窄的,仅允许管理员执行简单的管理级别的操作,到全面的管理面板(由数百个具有不同访问级别的用户使用),在多屏幕上显示统计数据。拥有50名或更多员工的手术室。 如果您的管理面板仅执行基本到中等复杂度的管理操作,则它可以在同一应用中。如果规模和复杂性大于此范围,则可以考虑将其分离到专用应用程序中,以保持对系统的更好控制。
别忘了,将两个不需要的应用程序分开(通常是小规模应用程序),很可能会导致多余的“麻烦”。
我的回答中提到的“缩放级别”都是关系性的,就像一切一样。 因此,进行呼叫并根据总体情况“衡量”事物的人就是您。
祝你好运!